pre_user_query meta_query admin lista de usuarios

2

Estoy intentando usar las variables pre_user_query' to change the query to include some meta_query '.

Mi objetivo es mostrar solo a los usuarios en la lista de usuarios si comparten un meta_value común con el usuario actual registrado ...

function modify_user_list($query){
    $user = wp_get_current_user();

    if( ! current_user_can( 'edit_user' ) ) return $query;

    $user_id = $user->ID; 
    $user_branch_number = get_user_meta($user_id, 'user_branch_number', true);

    $query->query_vars['meta_key'] = 'user_branch_number';
    $query->query_vars['meta_value'] = $user_branch_number; 
    $query->query_vars['meta_compare'] = '=';

}
add_action('pre_user_query', 'modify_user_list');

Si I print_r la consulta, mostrará que query_vars se ha actualizado correctamente, pero la lista de usuarios en el panel de administración no se ve afectada, la misma lista anterior de cada usuario.

    
pregunta sirmdawg 21.04.2015 - 21:30

1 respuesta

4

Está utilizando pre_user_query según la documentación de WordPress

  

Se activa después de que se haya analizado WP_User_Query y antes de que se realice la consulta   ejecutado

Entonces deberías usar pre_get_users como pre_get_posts cuando tus argumentos tengan algún significado para WordPress.

  

pre_get_users se dispara antes de que WP_User_Query haya sido analizado

Reemplaza tu gancho con

add_action('pre_get_users', 'modify_user_list');

    
respondido por el Sumit 21.04.2015 - 22:07

Lea otras preguntas en las etiquetas