如何使用回调中的类方法$query
内部对象pre_user_query
是完全合格的核心object
, 所以你可以使用$query->set( \'key\', \'value\' );
以及$query->get( \'key\' );
.
如果您发现这可能会干扰其他回调,那么只需添加remove_filter( current_filter(), __FUNCTION__ );
以使其在第一次调用时自动删除。
另一种方法是,在实例化类时,也可以直接使用这些参数:
$users = new WP_User_Query( array(
\'meta_query\' => array(
\'relation\' => \'OR\',
array(
\'key\' => "{$GLOBALS[\'wpdb\']->prefix}capabilities",
\'value\' => \'abcrole\',
\'compare\' => \'!=\'
),
array(
\'key\' => "{$GLOBALS[\'wpdb\']->prefix}capabilities",
\'value\' => \'ab\',
\'compare\' => \'NOT LIKE\'
)
)
) );
此示例显示了如何通过
capability
或
role
完全匹配或仅命名
LIKE
要排除的角色。例如,当您为某些角色或功能添加前缀,然后希望将其大规模排除时,这会很方便。
您也可以在回调中使用相同的函数。注意使用array( array() )
用于元查询。