MENU

add_pages_page()

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() はどのメニューのサブメニューとして追加されますか?

「固定ページ」メニューのサブメニューとして追加されます。

管理画面のトップレベルメニューに追加するにはどうすればよいですか?

add_menu_page() を使用することで、独自のトップレベルメニューを作成できます。

ユーザーの権限を制限することはできますか?

manage_options などの権限パラメータを調整することで、特定のユーザーだけがアクセス可能にできます。

まとめ

add_pages_page() は、WordPress の管理画面の「固定ページ」メニューに独自のサブメニューを追加する関数です。

固定ページに関連した設定画面を作成したい場合に便利です。ただし、トップレベルメニューを作成したい場合は add_menu_page()、他のメニューのサブメニューとして追加したい場合は add_submenu_page() を使用しましょう。

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

コメント

コメントする

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

目次