hapus "edit profil Anda" dari bilah menu admin

8

Bagaimana saya bisa menghapus submenu "edit profil Anda" di bawah bilah menu admin "akun saya dengan avatar", sambil tetap menyimpan avatar dan logout?

Sean Lee
sumber

Jawaban:

11

Ada remove_menukait untuk bilah menu admin.

Kelas yang ingin Anda kaitkan $wp_admin_bar, Anda dapat melihat fungsi hapus di sini dan mengujinya karena tidak ada dokumentasi di dalamnya (baris 86), itu harus bekerja dengan ID submenu.

http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/class-wp-admin-bar.php

Karena Anda sepertinya tidak percaya saya di sini adalah kode .........

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);
Wyck
sumber
Tidak ada pengait individu untuk "edit profil saya". Entah saya kehilangan seluruh menu akun dengan logout dan edit profil dan avatar (jika ada), atau simpan semuanya. Jadi, saya akhirnya mengedit admin-bar.php
Sean Lee
1
Kode di atas mengambil ID, item submenu pasti memiliki ID, jangan retas file inti, mereka ditimpa pada pembaruan selain sekitar 100 alasan lainnya.
Wyck
Sayangnya tidak ada ID individu untuk mengedit profil saya. BTW, item ini terletak di admin-bar.php. Kecuali Anda menemukan sesuatu yang berbeda yang saya lewatkan. Tolong beritahu saya.
Sean Lee
Saya tahu untuk apa dan memiliki dan ID, membuang array menu admin bar dan Anda akan melihatnya, Anda juga dapat melihatnya di file inti yang saya tautkan di atas,$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
Wyck
Menambahkan kode ke OP karena Anda tampaknya tidak mempercayai saya .... tapi terima kasih untuk downvote ...
Wyck
5

Wordpress telah memperkenalkan stuf baru (node).

Saya sedang mencari hapus secara lengkap 'kotak akun pengguna' dan tambahkan logout sederhana:

//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 );
}
pascal
sumber
Bagaimana Anda bisa menunjukkan nama blog di sini, nama depan, nama belakang, dan juga logout
Amjad
0

Saya tidak yakin apakah Anda dapat menghapusnya (belum dicentang), tetapi Anda dapat menggunakan css yang sama untuk menyembunyikan tautan edit profil Anda. Item daftar memiliki id 'wp-admin-bar-edit-profil' yang Anda gunakan untuk menyembunyikannya. Ini adalah html yang digunakan di bilah admin:

<li id="wp-admin-bar-edit-profile" class="">
  <a href="http://www.example.com/wp-admin/profile.php">Edit My Profile</a>
</li>

Saya menggunakan css berikut:

#wp-admin-bar-edit-profile { display: none }

Ini menyembunyikan tautan di bar admin tanpa tautan lainnya. Tambahkan potongan css ini ke style.css tema Anda dan tautannya akan disembunyikan di bilah admin saat melihat situs Anda. Menyembunyikannya di bilah admin saat melihat backend WordPress melibatkan sedikit lebih banyak dan mungkin bisa diperdebatkan karena ada juga tautan ke profil di menu di sebelah kiri.

BjornW
sumber
Menyembunyikannya tidak cukup bersih, bagaimana dengan menulis ulang, toh menulis ulang?
Sean Lee