我想从用户列表中排除订阅者。我的代码是:
$users = $wpdb->get_results( "SELECT display_name FROM $wpdb->users ORDER BY display_name ASC" );
如何更改此选项,以便从列表中排除订阅者?我还查看了codex中的get\\u users函数,但它没有按角色排除参数。
编辑:或者另一种方法是获得按功能筛选的结果(订阅者没有)。
我想从用户列表中排除订阅者。我的代码是:
$users = $wpdb->get_results( "SELECT display_name FROM $wpdb->users ORDER BY display_name ASC" );
如何更改此选项,以便从列表中排除订阅者?我还查看了codex中的get\\u users函数,但它没有按角色排除参数。
编辑:或者另一种方法是获得按功能筛选的结果(订阅者没有)。
这种新方法应该有效。它查看所有功能值以查找“订阅者”,并将其隐藏。
尝试此查询
$wpdb->get_results(
"SELECT display_name
FROM $wpdb->users WHERE 1=1 AND {$wpdb->users}.ID IN (
SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta
WHERE {$wpdb->usermeta}.meta_key = \'{$wpdb->prefix}capabilities\'
AND {$wpdb->usermeta}.meta_value NOT LIKE \'%subscriber%\') ORDER BY display_name ASC"
);
您可以使用get_users()
函数两次以排除subscribers
.
你可以这样做
// Gets all the subscribers
$user_query = get_users( array( \'role\' => \'subscriber\' ) );
// This gets the array of ids of the subscribers
$subscribers_id = wp_list_pluck( $user_query, \'ID\' );
// Now use the exclude parameter to exclude the subscribers
$non_subscribers = get_users( array( \'exclude\' => $subscribers_id ) );
$non_subscribers
包含非订阅服务器。您可以获取display_name
通过这样做
foreach( $non_subscribers as $non_subscriber ) {
echo $non_subscriber->display_name;
}
$args = array(
\'role__not_in\' => \'subscriber\'
);
// The Query
$user_query = new WP_User_Query( $args );
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo \'<p>\' . $user->display_name . \'</p>\';
}
} else {
echo \'No users found.\';
}
怎么样WP_User_Query
参数中的角色为“\\uu not\\u”。我正在开发一些附加功能,包括jQuery自动完成表单、一些自定义数据库表和用于查询表的PHP。我让它在WordPress框架之外工作,使用mysqli作为数据库部分。我已经将表单添加到WordPress页面(并将jQuery引用添加到标题)。当我运行Firefox Web Developer Web控制台时,我可以看到jQuery正在完成它的工作,直到调用PHP脚本为止。我的PHP脚本位于Genesis子主题的根目录中。PHP脚本就挂在那里,我似乎无法访问中的信息$wpdb. 我在与测试相同的目录中执行