引用自WordPress VIP Development Best Practices:
请记住,数据库不是工具箱。虽然您可能能够在数据库方面执行大量工作,但通过保持数据库查询简单并在PHP中执行必要的计算和逻辑,您的代码可以更好地扩展。
也就是说,如果当前用户具有管理功能,您可以尝试获取所有非管理用户,然后将其添加到结果中。
您可以使用更高级的WordPress功能轻松实现这一点:
<?php
/* get all non-admin users */
$args = array(
\'meta_key\' => \'wp_capabilities\',
\'meta_value\' => \'Administrator\', /* you better check for a capability, not a role */
\'meta_compare\' => \'NOT LIKE\'
);
$user_query = new WP_User_Query( $args );
/* if current user is admin, get its user object */
$current_admin_user = current_user_can( \'activate_plugins\' ) ? wp_get_current_user() : null;
/* merge non-admin users with current admin-user */
$results = $user_query->get_results();
$results[] = $current_admin_user;
/* update the user query */
$user_query->__set( \'results\', $results );
$user_query->__set( \'total_users\', count( $results ));
/* do whatever you want */
print_r($user_query);