web-dev-qa-db-ja.com

管理バーにメニュー項目を追加する

管理バーに新しいメニュー項目を追加したいです。これまでのところ、私は次のことを行いました。

function add_book_menu_item ($wp_admin_bar) {

    $args = array (
            'id'        => 'book',
            'title'     => 'Book',
            'href'      => 'http://example.com/',
            'parent'    => 'new-content'
    );

    $wp_admin_bar->add_node( $args );
}

add_action('admin_bar_menu', 'add_book_menu_item');

これは(管理者ツールバーの)+ Newメニューの下にBookメニュー項目を作成しています。ただし、Book項目が最初に来ます(これはPostメニュー項目の前です)。 Media項目とPage項目の間に表示します。

次の図は、私がやりたいことを示しています。

enter image description here 

それ、どうやったら出来るの?

ありがとう。

2
Greeso

Jqueryを使ってみることができます。

新しいメニューがドロップダウンしました--- wp-admin-bar-新しいコンテンツの順序付け---- li:eq(0)

 jQuery(document).ready(function ($) {
      // swaps 3rd and puts it before the 1st menu (note that orders start at 0)
  $("#wp-admin-bar-new-content li:eq(3)").before($("#wp-admin-bar-new-content li:eq(0)"));
});

新しい順番は(post、media、book、page)になります。新しいプラグインが新しいメニューを追加した場合はこれを変更する必要がありますが、以下を見るまではうまくいきます。

ワードプレスからのこのページ https://codex.wordpress.org/Function_Reference/get_nodes は管理バーのすべてのメニューを含む新しいメニュードロップダウンを構築する方法を示しており、おそらくワードプレスを介して変更を再現するために編集することができますあなたのニーズに合うように 'new-content'をより細かく制御して再構築するためのフック。

2
Sam

すべてのメニューには番号があります。番号の優先順位を下げます。

 add_action( 'admin_bar_menu', 'wp_admin_bar_sidebar_toggle', 0 );
            add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
            add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
            add_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 ); 

あなたが以下のリンクをチェックすることができるより明確なアイデア

http://natko.com/custom-menu-item-position-in-wordpress-admin-bar-toolbar/ /

1
Akankha Ahmed