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() { ... }:ページの内容を表示するコールバック関数
引数と戻り値
スクロールできます
| 引数名 | 型 | 説明 |
|---|---|---|
$page_title | string | サブページのタイトル(ブラウザのタイトルバーなどに表示される) |
$menu_title | string | 管理画面メニューに表示されるタイトル |
$capability | string | このページにアクセスできるユーザー権限(例:manage_options) |
$menu_slug | string | メニューのスラッグ(URLのクエリパラメータとして使われる) |
$callback | callable | ページの内容を表示するコールバック関数 |
スクロールできます
| 戻り値の型 | 説明 |
|---|---|
| string | メニューのスラッグ($menu_slug)。成功時はそのまま返される。 |
| null | 失敗時やメニューが追加されなかった場合は null を返す可能性あり。 |
使い方の説明
基本的な設定ページを作成する
以下のコードは、管理画面の「プラグイン」メニューに「プラグイン設定」を追加し、専用の設定ページを表示します。
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_submenu_page())と組み合わせることで、より高度な設定ページを作成できます。
コメント