add_menu_page()


WordPress関数add_menu_page()は、管理画面に新しいメニューページを追加するために使用されます。

構文

add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null );

引数の説明:

  • $page_title (string) — ページのタイトル。ブラウザのタイトルバーに表示されます。
  • $menu_title (string) — メニューに表示されるテキスト。
  • $capability (string) — メニューにアクセスできるユーザーの権限。
  • $menu_slug (string) — メニューの一意な識別子。
  • $function (callable) — ページの内容を生成する関数。
  • $icon_url (string) — メニューアイコンのURL。
  • $position (int) — メニューの表示位置。

例 1: シンプルなメニューの追加

管理画面にシンプルなメニューを追加します。

<?php
add_action( 'admin_menu', function() {
    add_menu_page( 'Sample Page', 'Sample Menu', 'manage_options', 'sample-page', function() {
        echo '<h1>Sample Page Content</h1>';
    } );
} );
?>

例 2: カスタムアイコンを使用

カスタムアイコンをメニューに追加します。

<?php
add_action( 'admin_menu', function() {
    add_menu_page( 'Icon Page', 'Icon Menu', 'manage_options', 'icon-page', function() {
        echo '<h1>Icon Page Content</h1>';
    }, 'dashicons-admin-site' );
} );
?>

例 3: サブメニュー付きメニューの作成

メインメニューとそのサブメニューを作成します。

<?php
add_action( 'admin_menu', function() {
    add_menu_page( 'Main Page', 'Main Menu', 'manage_options', 'main-page', function() {
        echo '<h1>Main Page Content</h1>';
    } );

    add_submenu_page( 'main-page', 'Sub Page', 'Sub Menu', 'manage_options', 'sub-page', function() {
        echo '<h1>Sub Page Content</h1>';
    } );
} );
?>

例 4: 特定の位置にメニューを表示

メニューを特定の位置に表示します。

<?php
add_action( 'admin_menu', function() {
    add_menu_page( 'Position Page', 'Position Menu', 'manage_options', 'position-page', function() {
        echo '<h1>Position Page Content</h1>';
    }, '', 25 );
} );
?>

例 5: 条件に応じてメニューを動的に生成

条件に応じてメニューを生成します。

<?php
add_action( 'admin_menu', function() {
    if ( current_user_can( 'edit_posts' ) ) {
        add_menu_page( 'Dynamic Page', 'Dynamic Menu', 'edit_posts', 'dynamic-page', function() {
            echo '<h1>Dynamic Page Content</h1>';
        } );
    }
} );
?>

注意事項

add_menu_page()を使用する際、適切な権限を設定し、不正なアクセスを防ぐようにしてください。また、ユーザーエクスペリエンスを損なわないようにメニュー数を適切に管理してください。


関連機能: