如何在后端列出分配给自定义角色的所有用户?

时间:2012-02-25 作者:Daniel

从我之前的问题How to create and retrieve data from a special registration form? 我想知道如何在后端列出分配给自定义角色的所有用户?是否可以将它们放在单独的管理页面中?

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

用户查询WP_User_Query, 类似于WP_Query 关于职位:

$wp_user_search = new WP_User_Query( array( \'role\' => \'editor\' ) );
$editors = $wp_user_search->get_results();
通常,这会从用户表中返回一个行对象数组:

echo \'<ul>\';
foreach ($editors as $editor):
  echo \'<li>\'.$edtior->display_name.\'</li>\';
endforeach;
echo \'</ul>\';
但是,您可以指定它来返回WP\\u用户对象的数组,方法是包括\'fields\'=>\'all_with_meta\' 在传递给的数组中WP_User_Query.

注册管理页面

要注册需要挂接函数的管理菜单\'admin_menu\' 哪个呼叫add_submenu_page (或add_menu_page 如果需要顶级页面)。See the Codex.

在这种情况下,将页面添加到“用户”选项卡下似乎是合适的,其挂钩是“用户”。php’。

add_action(\'admin_menu\', \'register_my_custom_submenu_page\');
function register_my_custom_submenu_page() {
    //Register submenu page underneath users tab.
    add_submenu_page(\'users.php\',\'My Editors\', \'My Editor\',\'manage_options\',\'my-editors\', \'my_editor_page_callback\',10);
}
//This is the callback function specified above
//This outputs the content of your page.
function my_editor_page_callback(){
    ?>
        <div class="wrap">
            <div class="icon32" id="icon-users"><br></div>
            <h2>My Editors</h2>
    <?php
}
?>
如果您希望在此页面上有一个仅列出特定角色的用户的表,您可以考虑查看WP_List_Table 插件。这不是一个真正的插件,而是如何使用WP_List_Table 班(使用此选项,您可以为用户元数据等包含额外的列)。(但请注意,默认用户表已允许您按用户进行筛选)。

结束

相关推荐

如何对GET_USERS函数进行分页?

Im使用get\\u users函数显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果分页。这是Im使用的函数示例:似乎没有一种明显的方法可以为this函数创建分页。如果能帮上点忙,我将不胜感激。