pre_user_query meta_query список пользователей admin

Я пытаюсь использовать pre_user_query' to change the query to include some переменные meta_query`.

Моя цель – показывать только пользователей в списке пользователей, если они совместно используют общий meta_value с текущим зарегистрированным пользователем …

 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'); 

Если я print_r запрос, он покажет, что query_vars были соответствующим образом обновлены, но список пользователей на панели администратора не затронут – тот же старый список каждого отдельного пользователя.

Вы используете pre_user_query согласно документации WordPress

Пожары после разбора WP_User_Query и до выполнения запроса

Затем вы должны использовать pre_get_users же, как pre_get_posts когда ваши аргументы имеют какое-то значение для WordPress.

pre_get_users до того, как WP_User_Query разобран

Замените крючок

add_action('pre_get_users', 'modify_user_list');