管理メニューバーから「プロフィールを編集」を削除する


8

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

回答:


11

remove_menu管理メニューバーのフックがあります。

フックしたいクラス。$wp_admin_barここには削除機能があり、ドキュメントがないのでテストできます(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);

「プロフィールを編集する」ための個別のフックはありません。ログアウトでアカウントメニュー全体を緩め、プロファイルとアバター(存在する場合)を編集するか、またはすべて保持します。それで、私はadmin-bar.phpを編集することになりました
ショーンリー

1
上記のコードはIDを取得し、サブメニューアイテムには確かにIDがあり、コアファイルをハックしません。これらは、他の約100の理由以外に、更新時に上書きされます。
Wyck

残念ながら、プロフィールを編集するための個別のIDはありません。ところで、このアイテムはadmin-bar.phpにあります。あなたが私が見逃した別のものを見つけない限り。私にお知らせください。
ショーンリー

私はそれが何のためにあるのか知っていて、それが持っているとID、管理バーメニューの配列をダンプし、あなたがそれを見るだろう、あなたはまた、私は上記のリンクコアファイルでそれを見ることができます$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
ウィック

あなたは私を信じていているように見えるため、OPにコードを追加しました....が、downvoteに感謝...
ウィック

5

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

ブログの名前、名、姓、ログアウトをここに表示するにはどうすればよいですか
Amjad

0

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


それを隠すことは十分にきれいではありません、とにかくそれを書き換えるには、書き換えについてどうですか?
ショーンリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.