概要
add_users_page
アクションは、WordPressの管理画面のユーザーメニューにサブメニューを登録するために使用されます。このアクションを利用することで、カスタム機能や設定ページをユーザー管理セクションに簡単に追加できます。このアクションは、特に次のような機能を実装する際によく使われます。
- カスタムユーザー管理ページの作成
- ユーザーの特定情報を表示
- ユーザーに関連するカスタム設定を管理
- 新しいユーザータイプの追加や管理
- ユーザーのロールや権限を編集
- ユーザー向けの教育コンテンツやチュートリアルを提供
- ユーザーのアクティビティログの表示
- その他のカスタムユーザー機能の拡張
構文
add_users_page( $page_title, $menu_title, $capability, $menu_slug, $function );
パラメータ
$page_title
: サブメニューのページタイトル$menu_title
: ユーザーメニューに表示されるタイトル$capability
: メニュー項目の表示を許可するためのユーザー権限$menu_slug
: サブメニューのスラッグ(ユニークな識別子)$function
: サブメニューの表示に呼び出す関数
戻り値
このアクションは特に戻り値を持っていませんが、指定された関数を用いてサブメニューを表示します。
関連する関数
ワードプレスバージョン
このアクションは、WordPress 2.5以降で使用可能です。
コアファイルのパス
wp-admin/includes/plugin.php
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: シンプルなユーザー管理ページの追加
function my_custom_user_page() {
add_users_page(
'My User Page',
'Custom User',
'manage_options',
'custom-user-page',
'my_user_page_callback'
);
}
function my_user_page_callback() {
echo '<h1>カスタムユーザー管理ページ</h1>';
}
add_action('admin_menu', 'my_custom_user_page');
このコードは、”Custom User”というタイトルでカスタムユーザー管理ページを追加します。
サンプル2: ユーザー情報を表示するページ
function my_user_info_page() {
add_users_page(
'User Info',
'User Info',
'manage_options',
'user-info',
'display_user_info'
);
}
function display_user_info() {
$user = wp_get_current_user();
echo '<h1>ユーザー情報</h1>';
echo '<p>ユーザー名: ' . esc_html($user->display_name) . '</p>';
}
add_action('admin_menu', 'my_user_info_page');
このコードは、現在のユーザー情報を表示するページを追加します。
サンプル3: ユーザーのカスタム設定ページ
function my_user_settings_page() {
add_users_page(
'User Settings',
'User Settings',
'manage_options',
'user-settings',
'user_settings_callback'
);
}
function user_settings_callback() {
echo '<h1>ユーザー設定</h1>';
// 設定フォームやオプションの表示
}
add_action('admin_menu', 'my_user_settings_page');
このコードは、ユーザーの設定を管理するためのカスタムページを作成します。
サンプル4: 複数のサブメニューを持つユーザーページの作成
function my_multi_user_pages() {
add_users_page('Page 1', 'Page 1', 'manage_options', 'page1', 'callback_page1');
add_users_page('Page 2', 'Page 2', 'manage_options', 'page2', 'callback_page2');
}
function callback_page1() {
echo '<h1>ページ1の内容</h1>';
}
function callback_page2() {
echo '<h1>ページ2の内容</h1>';
}
add_action('admin_menu', 'my_multi_user_pages');
このコードは、ユーザー管理メニューに2つのサブメニューを追加します。
サンプル5: カスタムロールに基づく表示
function my_custom_role_user_page() {
add_users_page(
'Role Based User Page',
'Role Based',
'edit_users',
'role-based-user',
'role_based_user_callback'
);
}
function role_based_user_callback() {
if (!current_user_can('edit_users')) {
wp_die(__('このページを見る権限がありません。'));
}
echo '<h1>ロールに基づくユーザーページ</h1>';
}
add_action('admin_menu', 'my_custom_role_user_page');
このコードは、特定のユーザーロールのみがアクセスできるページを追加します。