Pre_User_Query元查询管理员用户列表

时间:2015-04-21 作者:sirmdawg

我正在尝试使用pre_user_query\' to change the query to include somemeta\\u 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 已适当更新,但管理面板中的用户列表不受影响-每个用户的旧列表相同。

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

您正在使用pre_user_query 根据WordPress文档

在分析WP\\U User\\u查询之后和执行查询之前激发

那么你应该使用pre_get_users 就像pre_get_posts 当你的论点对WordPress有意义时。

pre_get_users 在分析WP\\u User\\u查询之前激发

将挂钩更换为

add_action(\'pre_get_users\', \'modify_user_list\');

结束

相关推荐

修改具有多个分类的users.php查询

我已经使用此代码的registered\\u taxonomy和update\\u count函数成功创建了3个附加到user对象的分类法-https://gist.github.com/portfola/10750784#file-user-taxonomies-php (其余的我不需要,因为它们只与显示管理UI或分类归档的分类相关,而我不需要)。这些分类法存储每个用户分配给哪个公司、办公室和团队。我知道自定义分类法正在存储数据,因为我通过wp_get_object_terms($user->ID