удалить «изменить свой профиль» из админки

8

Как удалить подменю «изменить свой профиль» в строке меню администратора «my-account-with-avatar», сохраняя при этом аватар и выход из системы?

Шон Ли
источник

Ответы:

11

Есть remove_menuхук для админки.

Класс, к которому вы хотите подключиться $wp_admin_bar, вы можете увидеть здесь функцию удаления и протестировать ее, поскольку на ней нет документации (строка 86), она должна работать с идентификатором подменю.

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
Приведенный выше код принимает идентификаторы, элемент подменю обязательно имеет идентификатор, не взламывает основные файлы, они перезаписываются при обновлениях, кроме примерно 100 других причин.
Wyck
К сожалению, нет никакого индивидуального идентификатора для редактирования моего профиля. Кстати, этот пункт находится в admin-bar.php. Если вы не нашли что-то другое, что я пропустил. Пожалуйста, дайте мне знать.
Шон Ли
Я знаю, для чего он нужен, и у него есть идентификатор, выгрузите массив меню панели администратора, и вы увидите его, вы также можете увидеть его в основном файле, который я связал выше,$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
Wyck
Добавил код в OP, так как вы, кажется, не верите мне ... но спасибо за понижение голоса ...
Wyck
5

Wordpress представил новые штуки (узлы).

Я искал удалить полностью «окно учетной записи пользователя» и добавить простой выход:

//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», который вы используете, чтобы скрыть его. Это 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 требует немного больше и может быть спорным, поскольку в меню слева также есть ссылка на профиль.

BjornW
источник
Сокрытие это не достаточно чисто, как насчет переписать, в любом случае переписать это?
Шон Ли