add_node を使う。
// add link to admin bar function sumachu_admin_bar_node($wp_admin_bar){ $wp_admin_bar->add_node( array( 'id' => 'hoge-node', 'title' => '<span class="ab-icon"></span>hogehoge', 'href' => '#', )); $wp_admin_bar->add_node( array( 'id' => 'hoge-item', 'parent' => 'hoge-node', 'title' => 'hogehoge設定', 'href' => admin_url() . 'admin.php?page=hoge', )); $wp_admin_bar->add_node( array( 'id' => 'hoge-item2', 'parent' => 'hoge-node', 'title' => '商品一覧', 'href' => admin_url() . 'edit.php?post_type=product', )); }
しかしこのままだと、wp-admin内では、小さい画面の場合は非表示になってしまう。
そこで、hoge-nodeにアイコンをつけて、それを常時表示するようにcssで記述する。
add_action('admin_head', 'hoge_admin_css'); function hoge_admin_css() { ?> <style> li#wp-admin-bar-hoge-node { display:block !important; } #wpadminbar #wp-admin-bar-hoge-node .ab-icon:before { content: '\f111'; top: 3px; } </style> <?php }
こちらに例が豊富 (add_menu はadd_node に変更することを推奨):