MENU

add_plugins_page()

add_plugins_page() は、WordPress の管理画面の「プラグイン」メニューに独自のサブメニューを追加する関数です。

プラグインの設定ページを作成する際に利用され、ユーザーがプラグインをカスタマイズしやすくなります。管理者専用の設定画面を提供するために、通常は admin_menu アクションフックと組み合わせて使用されます。

目次

機能の説明

add_plugins_page() は、WordPress の管理画面の「プラグイン」メニューのサブメニューとして、新しいページを追加します。この関数は、プラグイン開発者が独自の設定ページを作成する際に役立ちます。

主な用途

  • プラグインの設定ページを「プラグイン」メニューのサブメニューとして追加する
  • プラグインの詳細情報や設定オプションを提供するページを作成する
  • ユーザーがプラグインの動作を変更できるインターフェースを提供する

シンプルなコード例

以下のコードは、「プラグイン」メニューの中に「カスタム設定」というサブメニューを追加します。

add_action('admin_menu', function() {
    add_plugins_page(
        'カスタム設定',          // メニュータイトル
        'カスタム設定',          // 管理画面の表示名
        'manage_options',        // 必要な権限
        'custom-plugin-settings', // メニューのスラッグ
        function() {             // コールバック関数
            echo '<h1>カスタム設定ページ</h1>';
            echo '<p>ここに設定を追加できます。</p>';
        }
    );
});
  • 'カスタム設定':管理画面の「プラグイン」メニューの中に表示される項目名
  • 'manage_options':このページを表示できる権限(管理者のみ)
  • 'custom-plugin-settings':ページのスラッグ(URLの一部)
  • function() { ... }:ページの内容を表示するコールバック関数

使い方の説明

基本的な設定ページを作成する

以下のコードは、管理画面の「プラグイン」メニューに「プラグイン設定」を追加し、専用の設定ページを表示します。

function my_plugin_menu() {
    add_plugins_page(
        'プラグイン設定',
        'プラグイン設定',
        'manage_options',
        'my-plugin-settings',
        'my_plugin_settings_page'
    );
}
add_action('admin_menu', 'my_plugin_menu');

function my_plugin_settings_page() {
    ?>
    <div class="wrap">
        <h1>プラグイン設定</h1>
        <form method="post" action="options.php">
            <?php
            settings_fields('my_plugin_options');
            do_settings_sections('my-plugin-settings');
            submit_button();
            ?>
        </form>
    </div>
    <?php
}
  • add_plugins_page()admin_menu フックで実行し、設定ページを追加
  • my_plugin_settings_page() でページのコンテンツを作成
  • settings_fields()do_settings_sections() を使って設定項目を表示
  • submit_button() で設定を保存するボタンを表示

一緒に使うことが多い関連タグ

add_menu_page()

管理画面のサイドメニューに独自のメニューを追加する。

add_menu_page(
    'カスタムメニュー',
    'カスタムメニュー',
    'manage_options',
    'custom-menu',
    'custom_menu_page'
);

add_submenu_page()

既存のメニューのサブメニューを追加する。

add_submenu_page(
    'tools.php',
    'カスタムツール',
    'カスタムツール',
    'manage_options',
    'custom-tool',
    'custom_tool_page'
);

追加情報で取得したい場合

現在の管理画面ページの情報を取得する

管理画面のどのページにいるかを取得するには get_current_screen() を使います。

add_action('admin_menu', function() {
    $screen = get_current_screen();
    if ($screen->id === 'plugins_page_my-plugin-settings') {
        // 特定のプラグイン設定ページでのみ実行
    }
});

出力例

stdClass Object
(
    [id] => plugins_page_my-plugin-settings
    [base] => plugins
    [parent_base] => plugins
)

想定されるトラブル

設定ページが表示されない

解決方法

  • admin_menu フックを正しく設定しているか確認する。
  • manage_options の権限を持つユーザーでログインしているか確認する。
  • メニューのスラッグが他のプラグインと重複していないか確認する。

Q&A

add_plugins_page() はどんなときに使う?

WordPress の「プラグイン」メニューの中に独自の設定ページを追加したいときに使います。

add_menu_page() との違いは?

add_plugins_page() は「プラグイン」メニューのサブメニューとしてページを追加し、add_menu_page() は独自のトップレベルメニューを作成します。

manage_options 以外の権限を設定できる?

はい、例えば edit_posts にすると投稿者もアクセスできます。ただし、プラグインの設定を変更するページには通常 manage_options を使用します。

まとめ

add_plugins_page() は、WordPress の管理画面の「プラグイン」メニューの中に独自の設定ページを追加するための関数です。

プラグインの設定やカスタマイズオプションを提供する際に便利です。他の管理画面関連関数(add_menu_page()add_submenu_page())と組み合わせることで、より高度な設定ページを作成できます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次