add_pages_page()
は、WordPress の管理画面の「固定ページ」メニューのサブメニューに独自のページを追加するための関数です。
例えば、固定ページに関連する設定ページを追加したい場合に使用します。この関数を利用すると、WordPress の既存メニュー構造を活かしながら、独自の管理画面を組み込むことが可能です。
目次
機能の説明
add_pages_page()
は、管理画面の「固定ページ」メニュー (edit.php?post_type=page
) のサブメニューとして、カスタム管理ページを追加するための関数です。この関数を使用することで、独自の設定画面やツールを「固定ページ」メニューの配下に配置できます。
主な用途
- 固定ページに関連する設定ページを追加
- 固定ページに特化したカスタムツールを管理画面に組み込む
- 固定ページの管理をより便利にする機能を提供
シンプルなコード例
add_action('admin_menu', function() {
add_pages_page(
'カスタムページ設定', // ページのタイトル
'カスタム設定', // メニューのタイトル
'manage_options', // 必要な権限
'custom-page-settings', // メニューのスラッグ
'custom_page_settings_callback' // コールバック関数
);
});
function custom_page_settings_callback() {
echo '<h1>カスタムページ設定</h1>';
echo '<p>ここに設定内容を記述できます。</p>';
}
'カスタムページ設定'
:ページタイトル(ブラウザのタブに表示)'カスタム設定'
:メニューに表示されるテキスト'manage_options'
:このページを表示できるユーザー権限'custom-page-settings'
:スラッグ(URL の識別子)'custom_page_settings_callback'
:ページの内容を出力する関数
使い方の説明
以下のコードでは、より詳細な設定ページを作成し、フォームを追加する例を示します。
add_action('admin_menu', function() {
add_pages_page(
'固定ページのカスタム設定',
'固定ページ設定',
'manage_options',
'custom-page-settings',
'custom_page_settings_display'
);
});
function custom_page_settings_display() {
?>
<div class="wrap">
<h1>固定ページのカスタム設定</h1>
<form method="post" action="options.php">
<?php
settings_fields('custom_page_settings_group');
do_settings_sections('custom-page-settings');
submit_button();
?>
</form>
</div>
<?php
}
settings_fields()
やdo_settings_sections()
を利用することで、WordPress の設定 API を活用可能。submit_button()
を使うことで、保存ボタンを自動生成。
一緒に使うことが多い関連タグ
add_menu_page()
独自のトップレベルメニューを追加する場合に使用します。
add_menu_page(
'カスタム設定',
'カスタム設定',
'manage_options',
'custom-settings',
'custom_settings_callback'
);
add_submenu_page()
任意の管理メニューのサブメニューとしてページを追加する場合に使用。
add_submenu_page(
'options-general.php', // 設定メニューのサブメニュー
'追加設定',
'追加設定',
'manage_options',
'custom-sub-settings',
'custom_sub_settings_callback'
);
追加情報で取得したい場合
get_current_screen()
現在の管理画面の情報を取得するために利用できます。
$screen = get_current_screen();
if ($screen->id === 'toplevel_page_custom-settings') {
echo 'カスタム設定ページを開いています';
}
想定されるトラブル
カスタムメニューが表示されない
解決方法
add_pages_page()
はadmin_menu
アクションフック内で実行する必要があります。manage_options
などの権限設定を適切に設定する。
add_action('admin_menu', function() {
add_pages_page('カスタム設定', 'カスタム設定', 'manage_options', 'custom-settings', 'custom_settings_display');
});
Q&A
まとめ
add_pages_page()
は、WordPress の管理画面の「固定ページ」メニューに独自のサブメニューを追加する関数です。
固定ページに関連した設定画面を作成したい場合に便利です。ただし、トップレベルメニューを作成したい場合は add_menu_page()
、他のメニューのサブメニューとして追加したい場合は add_submenu_page()
を使用しましょう。
コメント