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

概要

add_plugins_pageアクションは、WordPressの管理画面において、プラグインメニューにサブメニューを登録するために使用される関数です。このアクションは、特にプラグインの設定やオプションページを作成する際に頻繁に利用されます。

以下は、add_plugins_pageアクションがよく使われるケースの例です:

  1. プラグイン設定ページの追加
  2. プラグイン情報ページの作成
  3. プラグインアップデート通知ページの実装
  4. プラグインサポートページのリンク追加
  5. プラグインの使用方法やドキュメントへのリンク作成
  6. プラグインのカスタムオプションページ作成
  7. プラグインのデモページ提供
  8. プラグインによるフィードバック収集ページの作成

構文

add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $function );

パラメータ

  • $page_title (string) – ページのタイトル
  • $menu_title (string) – メニューに表示するタイトル
  • $capability (string) – このメニューにアクセスできるユーザーの権限
  • $menu_slug (string) – メニューの識別子
  • $function (callable) – ページを表示するためのコールバック関数

戻り値

このアクションは値を返しませんが、指定された関数に基づいて追加のメニューが管理画面に表示されます。

関連する関数

add_plugins_page

使用可能バージョン

add_plugins_pageアクションは、WordPressバージョン 2.7.0 以降で使用可能です。

コアファイルのパス

このアクションは、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: 基本的なプラグイン設定ページの追加

add_action('plugins_loaded', 'my_plugin_menu');

function my_plugin_menu() {
    add_plugins_page('My Plugin Settings', 'My Plugin', 'manage_options', 'my-plugin', 'my_plugin_settings_page');
}

function my_plugin_settings_page() {
    echo '<h1>My Plugin Settings</h1>';
}

このサンプルコードは、my_pluginというスラッグを持つプラグインの設定ページをWordPressのプラグインメニューに追加します。

サンプルコード2: ユーザー権限を制御した設定ページの追加

add_action('plugins_loaded', 'my_secure_plugin_menu');

function my_secure_plugin_menu() {
    add_plugins_page('Secure Plugin Settings', 'Secure Plugin', 'administrator', 'secure-plugin', 'secure_plugin_settings_page');
}

function secure_plugin_settings_page() {
    echo '<h1>Secure Plugin Settings</h1>';
}

この例では、administrator権限を持つユーザーのみが設定ページにアクセスできるようになっています。

サンプルコード3: 設定ページへの詳細情報の追加

add_action('plugins_loaded', 'my_enhanced_plugin_menu');

function my_enhanced_plugin_menu() {
    add_plugins_page('Enhanced Plugin Settings', 'Enhanced Plugin', 'manage_options', 'enhanced-plugin', 'enhanced_plugin_settings_page');
}

function enhanced_plugin_settings_page() {
    ?>
    <h1>Enhanced Plugin Settings</h1>
    <p>このページでプラグインの設定を行ってください。</p>
    <?php
}

このサンプルコードでは、設定ページに説明テキストを追加しています。

サンプルコード4: 設定ページにフォームを追加する

add_action('plugins_loaded', 'my_form_plugin_menu');

function my_form_plugin_menu() {
    add_plugins_page('Form Plugin Settings', 'Form Plugin', 'manage_options', 'form-plugin', 'form_plugin_settings_page');
}

function form_plugin_settings_page() {
    ?>
    <h1>Form Plugin Settings</h1>
    <form method="post" action="options.php">
        <?php settings_fields('my_form_options_group'); ?>
        <label for="setting_name">Setting Name</label>
        <input type="text" id="setting_name" name="setting_name" value="<?php echo esc_attr(get_option('setting_name')); ?>" />
        <input type="submit" value="Save Settings" />
    </form>
    <?php
}

この例では、設定を保存するためのフォームを作成しています。

サンプルコード5: 複数の設定ページを追加する

add_action('plugins_loaded', 'my_multiple_menu');

function my_multiple_menu() {
    add_plugins_page('Plugin One Settings', 'Plugin One', 'manage_options', 'plugin-one', 'plugin_one_settings_page');
    add_plugins_page('Plugin Two Settings', 'Plugin Two', 'manage_options', 'plugin-two', 'plugin_two_settings_page');
}

function plugin_one_settings_page() {
    echo '<h1>Plugin One Settings</h1>';
}

function plugin_two_settings_page() {
    echo '<h1>Plugin Two Settings</h1>';
}

このサンプルでは、2つの異なる設定ページをプラグインメニューに追加しています。

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


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