ワードプレスのadd_users_pageアクションの使用方法・解説

概要

add_users_pageアクションは、WordPressの管理画面のユーザーメニューにサブメニューを登録するために使用されます。このアクションを利用することで、カスタム機能や設定ページをユーザー管理セクションに簡単に追加できます。このアクションは、特に次のような機能を実装する際によく使われます。

  1. カスタムユーザー管理ページの作成
  2. ユーザーの特定情報を表示
  3. ユーザーに関連するカスタム設定を管理
  4. 新しいユーザータイプの追加や管理
  5. ユーザーのロールや権限を編集
  6. ユーザー向けの教育コンテンツやチュートリアルを提供
  7. ユーザーのアクティビティログの表示
  8. その他のカスタムユーザー機能の拡張

構文

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');

このコードは、特定のユーザーロールのみがアクセスできるページを追加します。

この関数について質問する


上の計算式の答えを入力してください