Show admin bar wordpress

Содержание
  1. 11 хаков для Админ-бара WordPress (тулбара)
  2. Удобное скрытие панели инструментов
  3. Удаление базовых элементов (ссылок) из тулбара
  4. Удаление/отключение панели инструментов (тулбара)
  5. Мягкое отключение
  6. Полностью отключаем панель
  7. Отключаем тулбар для всех кроме администратора (во фронте)
  8. Отключаем тулбар для администратора сети
  9. Удаление любых элементов (ссылок) из тулбара
  10. Добавление элементов (ссылок) в тулбар
  11. Еще пример: дочерняя ссылка в меню сайта на страницу плагинов
  12. Как узнать $id имеющегося элемента тулбара
  13. Убрать только отступ вверху у тулбара
  14. Добавление произвольного меню в панель инструментов
  15. Ссылка на удаление записи в тулбаре
  16. Показывать тулбар всегда
  17. Плагины для панели инструментов (админ бара)
  18. Developer Resources
  19. Contents
  20. Description
  21. Parameters
  22. More Information
  23. Source
  24. Related
  25. Used By
  26. Changelog
  27. User Contributed Notes
  28. Developer Resources
  29. Contents
  30. Description
  31. Parameters
  32. More Information
  33. Source
  34. Related
  35. Used By
  36. Changelog
  37. User Contributed Notes
  38. Верхняя панель (admin bar)

11 хаков для Админ-бара WordPress (тулбара)

C версии 3.1 в WordPress появился «Админ бар» (admin bar), задача которого была предоставить быстрый доступ к страницам админ-панели. А с версии 3.3 он немного изменил свое назначение и стал называться «Панель инструментов» (toolbar или тулбокс). Внешне и в коде ничего не поменялось, изменился подход: теперь он стал полностью поддерживать внешнюю часть сайта (фронт-энд). А когда не было этой панели инструментов мне её очень не хватало и я даже написал один из первых плагинов.

В этой заметке я соберу разные приёмы, для изменения этой панели инструментов (тулбара, админ бара): добавление, изменение, удаление элементов и т.д.

Для создания панели инструментов в WordPress есть отдельный класс WP_Admin_Bar и ряд функций. По сути, работа всей панель описана в этих двух файлах. И если вы чего-то не найдете в этой статье, то можете попробовать разобраться там.

Для вставки кодов можно воспользоваться неплохим плагином: Code Snippets

Удобное скрытие панели инструментов

Мне не нравится как панель расположена вверху во фронт-энде. Она часто не гармонирует с дизайном, но это можно пережить. Но когда она начинает мешать при всяких прокрутках или дополнительных плавающих панелях, то тут уже определенно надо что-то делать.

На мой взгляд самое универсальное решение — сделать эту панель скрывающейся (сворачивающейся). Так она не будет мешать и когда нужно под рукой.

По этому вопросу я искал плагины, но нашел каких-то монстров. Поэтому пришлось написать свой код. То что получилось мне нравится, в некоторых случаях это очень удобно: кроме того что панель не мешает, она еще и способна вместить больше элементов. Суть заключается в том, что панель появляется при наведении на иконку в верхнем левом углу и появляется она в вертикальном виде, а не горизонтальном. Получается своего рода сворачивание админ бара.

Вот так это выглядит на теме Twenty Twenty-One :

Код, который делает такие преобразования:

Вставлять этот код нужно в functions.php или оформите из него плагин, если часто меняете шаблоны.

Для работы кода, нужно чтобы в footer.php темы вызывалась функция wp_footer().

Удаление базовых элементов (ссылок) из тулбара

Видел в сети решение этой задачи — везде немного не правильно, потому что пункты удаляются после того как они были добавлены в панель. А желательно их вообще туда не добавлять. Делается это так:

В закомментированных строках указанны те пункты панели, которые можно удалить. В этом примере удалены пункты: «Настроить», «Поиск» и основной пункт с WordPress ссылками.

Удаление/отключение панели инструментов (тулбара)

Во-первых тулбар можно отключить на странице профиля а админ-панели: Пользователи > Ваш профиль .

Но когда нужно отключить глобально, используйте функцию show_admin_bar().

Примеры разных вариантов отключения:

Мягкое отключение

Предположим, нам нужно отключить «Панель инструментов» в лицевой части сайта. Но при этом, нужно дать возможность плагинам, включить панель через фильтр show_admin_bar.

Для этого вставьте следующую строку в файл темы functions.php :

Полностью отключаем панель

На фронте и в админке:

Отключаем тулбар для всех кроме администратора (во фронте)

В этом примере панель инструментов не отключается в админ-панели.

По аналогии можно отключить панель для любой роли. Для этого вместо права ‘manage_options’ нужно указать подходящее право для роли, список прав смотрите здесь. Вот некоторые из них:

  • publish_posts — автор
  • edit_others_posts — редактор
Читайте также:  Wordpress если страница архива

Отключаем тулбар для администратора сети

Ну и по аналогии можно отключать панель инструментов используя условные теги или другие проверки.

Удаление любых элементов (ссылок) из тулбара

Базовые элементы лучше удалять способом который описан выше (впрочем это не принципиально). А этим способом можно удалять дополнительные элементы, которые добавляет не WordPress.

Для удаления используется метод remove_menu() или remove_node() — это абсолютно одинаковые методы (алиасы).

Допустим какой-то плагин добавляет в меню элемент с ID menushka и нам нужно удалить этот элемент:

Добавление элементов (ссылок) в тулбар

Для добавления ссылок используется метод WP_Admin_Bar::add_menu() он же WP_Admin_Bar::add_node(). Добавление нужно делать на хуке admin_bar_menu.

Добавлять можно как ссылки верхнего уровня так и дочерние. Для примера давайте добавим ссылку и дочернюю ссылку в панель:

В результате получим:

Чтобы изменить положение всего блока ссылок, пункта (поставить его до или после какого-то блока), измените число 30 — чем больше, тем ближе к концу.

Еще пример: дочерняя ссылка в меню сайта на страницу плагинов

Список всех возможных параметров смотрите в WP_Admin_Bar::add_menu().

Как узнать $id имеющегося элемента тулбара

Чтобы узнать $id имеющегося элемента панели, чтобы его удалить или чтобы добавить к нему дочерний элемент, посмотреть этот ID в исходном коде: он добавляется как суффикс в атрибут id тега LI: wp-admin-bar- :

Можно еще найти элемент в коде WordPress или плагина, но это сложнее.

Убрать только отступ вверху у тулбара

Чтобы панель инструментов правильно отображалась WordPress добавляет отступ в 28px к HTML и BODY тегам. Если для каких-то целей нужно этот отступ убрать, используйте такой код:

Этот вариант удаляет саму функцию, которая добавляет css стили.

Добавление произвольного меню в панель инструментов

Этот пункт может быть практически незаменим, потому что кроме удобства он еще и добавляет функциональности.

Использовав следующий код мы регистрируем меню навигации wp_nav_menu и добавляем пункты из этого меню в панель инструментов.

Я написал этот код как замена своему уже устарелому плагину:

Как это работает.

Добавляете код в functions.php. Затем заходите в админку: Внешний вид > Меню и создаете меню, добавляете в него любые ссылки и прикрепляете меню к области «Панель инструментов». Можно использовать несколько уровней, тогда верхний уровень будет главным в панели инструментов, а дополнительные станут выпадающим списком.

Ссылка на удаление записи в тулбаре

Ссылка на редактирование записи всегда находится в панели инструментов. Но если записи на сайте часто удаляются, то удобно иметь ссылку на удаление, чтобы для удаления не лазить в редактирование записи.

Здесь 90 — значит после ссылки на редактирование (у неё 80).

Показывать тулбар всегда

Редкий случай, но и такое может понадобится. Этот код будет всегда показывать панель инструментов, даже когда пользователь не авторизован. Но в этом случае там будет выводиться только ссылка «Войти». Она прописана в коде. По аналогии, можете добавить туда еще какие-нибудь ссылки:

Плагины для панели инструментов (админ бара)

Clicky by Yoast — интегрирует сервис веб аналитики в админ бар.

What The File — отличный плагин для изучения иерархии шаблона. Он показывает какой файл шаблона отвечает за отображение страницы на который вы находитесь в текущий момент. Информация выводится в админ баре.

Admin Bar Disabler — позволяет удалять панель для указанных ролей: белые и черные списки. Или для указанных возможностей: также возможность можно поместить в белый и черный списки. В общем это плагин тотальной настройки пока админ бара.

Источник

Developer Resources

Sets the display status of the admin bar.

Contents

Description

This can be called immediately upon plugin load. It does not need to be called from a function hooked to the ‘init’ action.

Parameters

More Information

This function should be called immediately upon plugin load or placed in the theme’s functions.php file.

This function will also affect the display of the Toolbar in the dashboard for WordPress versions prior to Version 3.3.

Читайте также:  Kde plasma установка на kali linux

Source

Used By

Used By

Generic Iframe header for use with Thickbox.

Starts preview and customize theme.

Changelog

Used By Description
iframe_header() wp-admin/includes/template.php
WP_Customize_Manager::setup_theme() wp-includes/class-wp-customize-manager.php
Changelog
Version Description
3.1.0 Introduced.

User Contributed Notes

The proper method for hiding the Toolbar on the front-end (cannot be disabled on the back-end).

Basic Example

Placing the below line of code in theme’s function.php file will prevent the Toolbar from rendering on the front end of your site.

Selected display

You can also determine for which users the admin bar is shown. For example the following lines will only display the admin bar for users with administrative privileges.

This function can be called immediately from the functions.php or the main plugin file to disable the admin-bar for all users.

If you want to conditionally hide the admin-bar based on the current page or user role, then you can do it in/before the following actions:

Front-End

wp-admin

Full sample

Note:

The init action is fired before wp and admin_init . It’s possible to use show_admin_bar() inside the init action, but other plugins might overwrite your decision at a later point.

I do NOT recommend using the filter add_filter( ‘show_admin_bar’, ‘__return_false’ ); in shared plugins! It will create conflicts with other plugins. Only use the filter in your private (child) theme or internal plugins, and stick with the show_admin_bar() function in public or shared plugins.

Hide adminbar for custom post type, e.g. ‘course

You must log in before being able to contribute a note or feedback.

Источник

Developer Resources

Filters whether to show the admin bar.

Contents

Description

Returning false to this hook is the recommended way to hide the admin bar.
The user’s display preference is used for logged in users.

Parameters

More Information

The show_admin_bar filter toggles the display status of the Toolbar for the front side of your website (you cannot turn off the toolbar on the WordPress dashboard anymore).

Note: The Admin Bar is replaced with the Toolbar since WordPress Version 3.3.

Source

Used By

Used By

Determines whether the admin bar should be showing.

Changelog

Used By Description
is_admin_bar_showing() wp-includes/admin-bar.php
Changelog
Version Description
3.1.0 Introduced.

User Contributed Notes

Examples migrated from Codex.

Note: The examples below should be called immediately upon plugin load or placed in theme’s functions.php file.

This code would turn the display status of the Toolbar to off.

Alternatively, you could write it into a full fledged function.

This would hide the Toolbar for all users except Administrators.

You must log in before being able to contribute a note or feedback.

Источник

Верхняя панель (admin bar)

В WordPress версии 3.1 появилась довольно спорная функция в виде «верхней панели«, так же известной как «admin bar«. Для кого-то эта панелька оказалась совершенно ненужной и лишней, а кто-то теперь и представить себе не может, как без нее жить. Лично я пока еще не определился нужна ли она мне или нет. Но в любом случае я хочу рассказать про различные хаки и плагины, связанные с этой панелью – от банального удаления панели до ее полной модификации.

1. Простое скрытие верхней панели

Если у вас в блоге запрещена регистрация пользователей и вы единственный админ блога, то для удаления панели не нужно применять никаких хаков — достаточно зайти в свой профиль и убрать галки с пунктов меню «Показывать верхнюю панель«: «при просмотре сайта» и «в консоли«:

2. Простое удаление верхней панели

Теперь удаляем верхнюю панель полностью для всех зарегистрированных пользователей блога, включая и админа. Откройте файл functions.php вашего шаблона и добавьте туда строчку:

Вернее будет сказать, что панель будет не удалена, а просто скрыта для всех пользователей. В профиле по-прежнему можно будет ставить галочки на «Показывать верхнюю панель«, только вот они не будут работать.

3. Полное удаление верхней панели

Чтобы полностью избавиться от верхней панели, включая опции выбора в профиле пользователя надо использовать более объемный код. Вставьте в functions.php вашего шаблона следующий код:

add_filter( ‘show_admin_bar’, ‘__return_false’ ); ?> add_menu( array( ‘title’ => __( ‘Log In’ ), ‘href’ => wp_login_url() ) ); > add_action( ‘admin_bar_menu’, ‘pjw_login_adminbar’ ); add_filter( ‘show_admin_bar’, ‘__return_true’ , 1000 );

Но при этом панель будет показываться всегда, независимо от настроек, которые установил пользователь в своем профиле.

9. Скрытие блока «Поиск» в верхней панели

Из панели можно удалить блок поиска:

Для удаления этого блока добавьте в functions.php код:

if ( !function_exists(‘hide_admin_bar_search’) ) < function hide_admin_bar_search () < ?>remove_menu(‘comments’); $wp_admin_bar->remove_menu(‘appearance’); > add_action( ‘wp_before_admin_bar_render’, ‘my_admin_bar_render’ );

Как видно из кода, чтобы удалить определенные меню из панели достаточно знать их обозначения. Полный список этих меню можно найти в файле «wp-includes/admin-bar.php«, а вот некоторые из них:

  • my-account — ссылка на меню профиля (при отключенных граватарах)
  • my-account-with-avatar — ссылка на меню профиля (граватары включены)
  • my-blogs — ссылка на меню «мои сайты»
  • get-shortlink — меню «короткая ссылка» для текущей записи
  • edit — меню «редактировать запись»
  • new-content — меню «новый материал»
  • comments — меню «комментарии»
  • appearance — меню «внешний вид»
  • updates — меню «обновления»

Для добавления в панель ссылок код должен быть немного сложнее. Например, чтобы добавить в меню «Новый материал» ссылку на «Медиафайлы«:

Надо добавить в файл functions.php следующий код:

function my_admin_bar_render() < global $wp_admin_bar; $wp_admin_bar->add_menu( array( ‘parent’ => ‘new-content’, //’false’ для корневого меню //или ID нужного меню ‘id’ => ‘new_media’, // ID ссылки ‘title’ => __(‘Media’), //заголовок ссылки ‘href’ => admin_url( ‘media-new.php’) //имя файла )); > add_action( ‘wp_before_admin_bar_render’, ‘my_admin_bar_render’ );

Это самый простой вариант добавления своей ссылки в верхнюю панель. В Codex’е вы можете увидеть код, который будет выводить отдельное меню «Facebook» с внешними ссылками:

Забавно, что плагинов удаления верхней панели существует с десяток минимум, а вот создать плагин для редактирования, добавления и удалению меню в панели никому в голову не пришло. Может я плохо искал?

11. Плагин Admin Bar Minimiser

Данный плагин позволяет плавно скрыть или показать панель при нажатии на маленькие кнопочки плагина:

При нажатии на «Hide» панель будет скрыта, а при нажатии на «Show» опять показана. По сути, конечно, бесполезный плагин, но возможно кому-нибудь он пригодится. Слова «Show» и «Hide» вы можете перевести на русский в файле плагина admin-bar-minimiser.php, просто найдите их поиском и замените.

12. Плагин WP Custom Admin Bar

Еще один плагин управления верхней панелью. Помимо полного удаления панели для выбранных ролей пользователей плагин позволяет настроить внешний вид панели через css:

К сожалению, встроенных готовых стилей плагин не предоставляет, а составить свою красивую панельку мне не удалось, я все-таки не дизайнер. Странно, что автор плагина не включил в плагин встроенные стили, так как в описании плагина он дает скриншоты уже настроенных стилей панели вроде:

Этот плагин позволяет пользователям менять шаблон блога прямо из панели:

Не знаю, как для пользователей, но при создании блога эта функция очень удобна – можно легко оценивать скаченные шаблоны, не переключаясь постоянно на вкладку админки блога.

14. Плагин Admin Menus Fixed

Единственная задача плагина Admin Menus Fixed это «подружить» новую верхнюю панель WordPress с меню от плагина Ozh Admin Drop Down Menu:

Но плагин полезен только при выводе верхней панели в консоли. Если вы не выводите там панель (а зачем, если плагин Ozh Admin Drop Down Menu практически повторяет собой верхнюю панель?), то и плагин вам вряд ли может понадобиться.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector