如何在WordPress中将当前用户从已保存用户列表中排除?
解决方法:在WordPress中排除当前用户
有两种简单可行的方式实现需求,以下是具体操作步骤:
方法一:提前过滤用户ID数组
在生成待查询的用户ID数组$user_list_arr2后,直接移除当前用户的ID,确保后续查询不会包含该用户:
// 在生成$user_list_arr2的循环结束后添加这行代码 $user_list_arr2 = array_diff($user_list_arr2, array($current_user->ID));
添加位置参考代码片段:
foreach ( $user_list_arr as $arr ) { if ( trim( $arr ) != '' ) { $user_list_arr2[ $i ] = $arr; $i ++; } } // 在此处添加过滤代码 $user_list_arr2 = array_diff($user_list_arr2, array($current_user->ID)); if ( sizeof( $user_list_arr2 ) > 0 ) {
方法二:在WP_User_Query中添加排除参数
直接在用户查询的参数里指定要排除的当前用户ID,无需修改原数组,逻辑更直观:
$args_users = [ 'include' => $user_list_arr2, 'exclude' => [$current_user->ID] // 新增排除当前用户的参数 ];
注意事项
你之前尝试的代码属于Python/Django框架的语法(如user.objects.exclude),但当前环境是WordPress的PHP代码,两种语言框架语法完全不同,因此无法生效。
另外请确保$current_user变量已正确初始化,若未全局化需添加:
global $current_user; wp_get_current_user();
内容的提问来源于stack exchange,提问作者Wayne Cory
相关产品推荐
相关产品推荐

