MENU

【非推奨】add_object_page()

add_object_page() は、WordPress の管理画面に新しいメニュー項目を追加するための関数です。

この関数を使用すると、特定のカスタム投稿タイプや設定ページを管理画面の上位レベルに配置できます。

主にプラグインやテーマの設定ページを追加する際に役立ちます。現在は非推奨となっており、新しい開発では add_menu_page() を使用するのが推奨されています。

目次

機能の説明

add_object_page() は、WordPress の管理画面のメニューにオブジェクト(カスタム投稿タイプや設定ページなど)を追加するために用いられる関数です。この関数を利用することで、一般的な「設定」メニューの下に追加するのではなく、独立したメニューとして表示できます。

主な用途

  • プラグインの設定ページを追加
  • カスタム投稿タイプの管理ページを作成
  • 管理者専用のツールページを設置

シンプルなコード例

add_object_page('カスタム設定', 'カスタム設定', 'manage_options', 'custom-settings', 'custom_settings_page');
  • 'カスタム設定':メニューのタイトル
  • 'カスタム設定':管理画面に表示されるメニュー名
  • 'manage_options':アクセス権限(管理者のみ)
  • 'custom-settings':メニューのスラッグ(識別用)
  • 'custom_settings_page':設定ページを表示するコールバック関数

このコードを使うと、管理画面の左側に「カスタム設定」という新しいメニューが追加されます。

使い方の説明

より詳細な設定をしたい場合、以下のような実装が可能です。

function custom_settings_page() {
    echo '<h1>カスタム設定ページ</h1>';
    echo '<p>ここに設定項目を追加できます。</p>';
}

add_action('admin_menu', function() {
    add_object_page(
        'カスタム設定', // ページタイトル
        'カスタム設定', // メニュータイトル
        'manage_options', // 権限
        'custom-settings', // メニューのスラッグ
        'custom_settings_page', // コールバック関数
        'dashicons-admin-generic' // アイコン
    );
});

このコードでは、メニューにアイコン(dashicons-admin-generic)を設定して、より分かりやすく管理画面に表示しています。

一緒に使うことが多い関連タグ

add_menu_page()(推奨)

add_object_page() は非推奨になったため、現在は add_menu_page() の使用が推奨されています。

add_menu_page(
    'カスタム設定', 
    'カスタム設定', 
    'manage_options', 
    'custom-settings', 
    'custom_settings_page',
    'dashicons-admin-generic',
    25 // メニューの表示順
);

add_submenu_page()

既存のメニューの下にサブメニューを追加する場合は、add_submenu_page() を使用します。

add_submenu_page(
    'custom-settings', 
    'サブ設定', 
    'サブ設定', 
    'manage_options', 
    'custom-sub-settings', 
    'custom_sub_settings_page'
);

追加情報で取得したい場合

get_admin_page_title()

現在の管理ページのタイトルを取得できます。

echo get_admin_page_title();

get_current_screen()

現在表示されている管理画面の情報を取得する場合に使用します。

$current_screen = get_current_screen();
echo $current_screen->id;

想定されるトラブル

メニューが表示されない

管理者権限 (manage_options) を持つユーザーでないと、メニューが表示されません。

解決方法

適切な権限 (edit_posts など) に変更するか、管理者でログインしてください。

Q&A

add_object_page() は現在でも使用できますか?

非推奨ですが、使用可能です。ただし、今後のアップデートで削除される可能性があるため add_menu_page() を使用することを推奨します。

アイコンを設定できますか?

はい、dashicons を利用してメニューにアイコンを追加できます。

add_menu_page() との違いは?

add_object_page()add_menu_page() の簡易版ですが、現在は add_menu_page() のみを使う方が良いでしょう。

まとめ

add_object_page() は、管理画面に新しいメニューを追加するための関数ですが、現在は非推奨です。

そのため、新しい開発では add_menu_page() を使用することが推奨されます。メニューを追加する際は、適切な権限を設定し、dashicons でアイコンを指定すると見やすくなります。

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

コメント

コメントする

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

目次