wp_admin_bar_edit_site_menu()


WordPressのwp_admin_bar_edit_site_menu()関数は、管理バーに「サイトを編集」メニューを追加するために使用されます。この関数は、ユーザーが現在のサイトをカスタマイズするためのクイックリンクを提供します。

構文

wp_admin_bar_edit_site_menu( WP_Admin_Bar $wp_admin_bar );
  • $wp_admin_bar(WP_Admin_Bar) — 管理バーオブジェクトを指定します。

例1: 管理バーに「サイトを編集」メニューを追加

この例では、管理バーに「サイトを編集」メニューを追加します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; wp_admin_bar_edit_site_menu($wp_admin_bar); });

例2: カスタム投稿タイプの編集リンクを追加

カスタム投稿タイプの編集リンクを管理バーに追加します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; if (is_singular('custom_post_type')) { wp_admin_bar_edit_site_menu($wp_admin_bar); } });

例3: 特定のユーザーロールにのみ表示

管理者ロールを持つユーザーのみに「サイトを編集」メニューを表示します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; if (current_user_can('administrator')) { wp_admin_bar_edit_site_menu($wp_admin_bar); } });

例4: フロントエンドでのみ表示

フロントエンドでのみ「サイトを編集」メニューを表示します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; if (!is_admin()) { wp_admin_bar_edit_site_menu($wp_admin_bar); } });

例5: カスタムURLを指定

「サイトを編集」メニューのリンク先をカスタムURLに変更します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; $wp_admin_bar->add_menu(array('id' => 'edit-site', 'title' => 'サイトを編集', 'href' => 'https://example.com/custom-edit-url')); });

例6: メニューのタイトルを変更

「サイトを編集」メニューのタイトルをカスタマイズします。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; $wp_admin_bar->add_menu(array('id' => 'edit-site', 'title' => 'カスタム編集', 'href' => admin_url('customize.php'))); });

例7: アイコンを追加

「サイトを編集」メニューにアイコンを追加します。

add_action('wp_before_admin_bar_render', function() { global $wp_admin_bar; $wp_admin_bar->add_menu(array('id' => 'edit-site', 'title' => '<span class="dashicons dashicons-edit"></span> サイトを編集', 'href' => admin_url('customize.php'))); });

注意点

  • この関数は、管理バーが表示されている場合にのみ機能します。
  • ユーザーが適切な権限を持っていることを確認してください。
  • カスタマイズリンクは、テーマがサポートしている場合にのみ有効です。

関連機能: