概要
add_options_page
関数は、WordPressの設定メニューにサブメニューを登録するために使用されます。この関数を利用することで、プラグインやテーマの管理インターフェースを構築することができ、ユーザーが簡単に設定を変更できるようになります。主に以下の機能実装の際に使用されます:
- プラグインの設定画面の追加
- カスタムオプションの設定・保存
- ユーザーインターフェースの強化
- 管理パネルのカスタマイズ
- APIキーや外部サービスの設定
- 管理者向けのヘルプページの提供
- SEO設定の管理
- ウェブサイトのセキュリティ設定
構文
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function );
パラメータ
- $page_title (string): メニューのページ名。
- $menu_title (string): メニューに表示するタイトル。
- $capability (string): メニューを表示できるユーザー権限。
- $menu_slug (string): このメニューのスラッグ(ユニークなID)。
- $function (callable): メニューが選択されたときに実行する関数。
戻り値
- 成功時に
true
、失敗時にはfalse
を返します。
関連する関数
使用可能なバージョン
- この関数は、WordPress 2.7 以降で使用可能です。
コアファイルのパス
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('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_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>';
// 設定フォームなどをここに追加
}
サンプルコード 2: 設定フォームを追加
このコードは、設定フォームを追加する例です。
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_page('My Plugin Settings', 'My Plugin', 'manage_options', 'my-plugin', 'my_plugin_settings_page');
}
function my_plugin_settings_page() {
?>
<div>
<h1>My Plugin Settings</h1>
<form method="post" action="options.php">
<?php settings_fields('my_plugin_options'); ?>
<label for="my_option">My Option:</label>
<input type="text" name="my_option" value="<?php echo get_option('my_option'); ?>" />
<?php submit_button(); ?>
</form>
</div>
<?php
}
サンプルコード 3: オプションの登録
このコードは、オプションを登録する手順を示しています。
add_action('admin_init', 'my_plugin_settings');
function my_plugin_settings() {
register_setting('my_plugin_options', 'my_option');
}
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_page('My Plugin Settings', 'My Plugin', 'manage_options', 'my-plugin', 'my_plugin_settings_page');
}
function my_plugin_settings_page() {
?>
<div>
<h1>My Plugin Settings</h1>
<form method="post" action="options.php">
<?php settings_fields('my_plugin_options'); ?>
<label for="my_option">My Option:</label>
<input type="text" name="my_option" value="<?php echo get_option('my_option'); ?>" />
<?php submit_button(); ?>
</form>
</div>
<?php
}
サンプルコード 4: 権限を変更
このコードは、異なるユーザー権限でメニューを表示する例です。
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_page('My Plugin Settings', 'My Plugin', 'administrator', 'my-plugin', 'my_plugin_settings_page');
}
function my_plugin_settings_page() {
echo '<h1>My Plugin Settings</h1>';
// 設定フォームなどをここに追加
}
サンプルコード 5: カスタムメッセージを表示
このコードは、設定ページにカスタムメッセージを表示する例です。
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_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>';
echo '<p>カスタムメッセージをここに表示できます。</p>';
// 設定フォームなどをここに追加
}
引用元: 各サンプルコードはオリジナルであり、著作権フリーです。