Sobre el producto
Especificaciones
if ( ! defined( 'ABSPATH' ) ) exit; function get_lista_agentes() { return array( 'KM0 Clientes', 'RecambioFacil KM0', 'David Caulin', 'David Antepazos', 'Tony Sogas', ); } add_action( 'restrict_manage_users', function() { $agentes = get_lista_agentes(); $current = isset( $_GET['agente_comercial_filter'] ) ? sanitize_text_field( wp_unslash( $_GET['agente_comercial_filter'] ) ) : ''; echo ''; echo ''; }, 10 ); add_action( 'pre_get_users', function( $query ) { if ( ! is_admin() ) return; $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : null; if ( $screen && 'users' === $screen->id && ! empty( $_GET['agente_comercial_filter'] ) ) { $query->set( 'meta_query', array( array( 'key' => 'agente_comercial', 'value' => sanitize_text_field( wp_unslash( $_GET['agente_comercial_filter'] ) ), 'compare' => '=', ), ) ); } }); add_filter( 'manage_users_columns', function( $columns ) { $columns['agente_comercial'] = __( 'Agente Comercial', 'textdomain' ); return $columns; }); add_action( 'manage_users_custom_column', function( $value, $column_name, $user_id ) { if ( 'agente_comercial' === $column_name ) { return esc_html( get_user_meta( $user_id, 'agente_comercial', true ) ); } return $value; }, 10, 3); add_filter( 'manage_users_sortable_columns', function( $sortable_columns ) { $sortable_columns['agente_comercial'] = 'agente_comercial'; return $sortable_columns; }); add_action( 'pre_get_users', function( $query ) { if ( ! is_admin() || ! $query->get( 'orderby' ) ) return; if ( 'agente_comercial' === $query->get( 'orderby' ) ) { $query->set( 'meta_key', 'agente_comercial' ); $query->set( 'orderby', 'meta_value' ); } }); add_filter( 'bulk_actions-users', function( $actions ) { foreach ( get_lista_agentes() as $agente ) { $slug = 'asignar_' . sanitize_title( $agente ); $actions[ $slug ] = sprintf( __( 'Asignar %s', 'textdomain' ), $agente ); } return $actions; }); add_filter( 'handle_bulk_actions-users', function( $redirect_to, $doaction, $user_ids ) { $mapping = array(); foreach ( get_lista_agentes() as $agente ) { $mapping[ 'asignar_' . sanitize_title( $agente ) ] = $agente; } if ( isset( $mapping[ $doaction ] ) ) { $count = 0; foreach ( $user_ids as $user_id ) { update_user_meta( $user_id, 'agente_comercial', $mapping[ $doaction ] ); $count++; } $redirect_to = add_query_arg( 'bulk_assigned', $count, $redirect_to ); } return $redirect_to; }, 10, 3); add_action( 'admin_notices', function() { if ( ! empty( $_REQUEST['bulk_assigned'] ) ) { $count = intval( $_REQUEST['bulk_assigned'] ); printf( '
%s