Как мне перечислить в серверной части всех пользователей, которым была назначена пользовательская роль?


Из моего предыдущего вопроса Как создать и получить данные из специальной регистрационной формы? Я хотел бы знать, как мне перечислить в бэкэнде всех пользователей, которым была назначена пользовательская роль? Можно ли разместить их на отдельной странице администратора?

Author: Community, 2012-02-25

1 answers

Запросы пользователей

Существует 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_User, включив 'fields'=>'all_with_meta' в массив, переданный WP_User_Query.

Страница администратора регистрации

Чтобы зарегистрировать меню администратора, вам нужно подключить функцию к 'admin_menu', которая вызывает add_submenu_page (или add_menu_page, если вам нужна страница верхнего уровня). См. Кодекс.

В этом случае добавление страницы на вкладке "Пользователи" кажется подходящим, и крючок для этого 'users.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. (Используя это, вы можете включить дополнительные столбцы для метаданных пользователя и т. Д.). (Обратите внимание, однако, на таблицу пользователей по умолчанию уже позволяет фильтровать по пользователю).

 0
Author: Stephen Harris, 2020-06-15 08:21:38