それでもアバターとログアウトを維持したまま、 "my-account-with-avatar"管理メニューバーの下にある[プロフィールを編集]サブメニューを削除するにはどうすればよいですか。
管理メニューバー用のremove_menu
フックがあります。
あなたが$wp_admin_bar
にフックしたいクラスは、あなたがここにremove関数を見て、それに関するドキュメンテーションがないのでそれをテストすることができます(86行目)、それはサブメニューIDで動作するはずです。
http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/class-wp-admin-bar.php
あなたは私をここで信じているとは思われなかったので.........
function ya_do_it_admin_bar_remove() {
global $wp_admin_bar;
/* **edit-profile is the ID** */
$wp_admin_bar->remove_menu('edit-profile');
}
add_action('wp_before_admin_bar_render', 'ya_do_it_admin_bar_remove', 0);
Wordpressは新しいstufs(ノード)を導入しました。
//http://codex.wordpress.org/Function_Reference/get_nodes
//http://codex.wordpress.org/Function_Reference/add_node
add_action( 'admin_bar_menu', 'remove_my_account', 999 );
function remove_my_account( $wp_admin_bar ) {
$wp_admin_bar->remove_node( 'my-account' );
}
add_action( 'admin_bar_menu', 'add_logout', 999 );
function add_logout( $wp_admin_bar ) {
$args = array(
'id' => 'logout', // id of the existing child node (New > Post)
'title' => 'Se déconnecter', // alter the title of existing node
'parent' => 'top-secondary', // set parent
);
$wp_admin_bar->add_node( $args );
}
削除できるかどうかはわかりませんが(チェックしていない)、cssを使用してプロフィールの編集リンクを非表示にしても同じことができます。リストアイテムには「wp-admin-bar-edit-profile」というIDがあり、これを非表示にすることができます。これは管理バーで使用されるHTMLです。
<li id="wp-admin-bar-edit-profile" class="">
<a href="http://www.example.com/wp-admin/profile.php">Edit My Profile</a>
</li>
私は次のCSSを使用しています。
#wp-admin-bar-edit-profile { display: none }
これにより、他のリンクがなくても管理バーのリンクが非表示になります。このCSSスニペットをテーマのstyle.cssに追加すると、サイトを表示しているときにリンクが管理バーに表示されなくなります。 WordPressのバックエンドを表示しているときに管理バーに非表示にすると、もう少し手間がかかり、左側のメニューにもプロファイルへのリンクが表示されます。