web-dev-qa-db-ja.com

管理メニューバーから「あなたのプロフィールを編集」を削除します

それでもアバターとログアウトを維持したまま、 "my-account-with-avatar"管理メニューバーの下にある[プロフィールを編集]サブメニューを削除するにはどうすればよいですか。

8
Sean Lee

管理メニューバー用の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);
10
Wyck

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 );
}
4
pascal

削除できるかどうかはわかりませんが(チェックしていない)、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のバックエンドを表示しているときに管理バーに非表示にすると、もう少し手間がかかり、左側のメニューにもプロファイルへのリンクが表示されます。

0
BjornW