概要
add_plugins_page
アクションは、WordPressの管理画面において、プラグインメニューにサブメニューを登録するために使用される関数です。このアクションは、特にプラグインの設定やオプションページを作成する際に頻繁に利用されます。
以下は、add_plugins_page
アクションがよく使われるケースの例です:
- プラグイン設定ページの追加
- プラグイン情報ページの作成
- プラグインアップデート通知ページの実装
- プラグインサポートページのリンク追加
- プラグインの使用方法やドキュメントへのリンク作成
- プラグインのカスタムオプションページ作成
- プラグインのデモページ提供
- プラグインによるフィードバック収集ページの作成
構文
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
アクションは、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つの異なる設定ページをプラグインメニューに追加しています。