http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Главная Новости

14 манипуляций с верхней панелью WordPress (admin bar).

Опубликовано: 08.03.2018

видео 14 манипуляций с верхней панелью WordPress (admin bar).

Calling All Cars: June Bug / Trailing the San Rafael Gang / Think Before You Shoot

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


The Case for $20,000 oz Gold - Debt Collapse - Mike Maloney - Silver & Gold

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

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

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

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

add_filter ( 'show_admin_bar' , '__return_false' ) ;

add_filter('show_admin_bar', '__return_false');

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

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

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

add_filter( 'show_admin_bar', '__return_false' ); ?> <?php function hide_admin_bar_settings ( ) { ?> <style type="text/css"> .show-admin-bar { display: none; } </style> <?php } function disable_admin_bar ( ) { add_filter ( 'show_admin_bar' , '__return_false' ) ; add_action ( 'admin_print_scripts-profile.php' , 'hide_admin_bar_settings' ) ; } add_action ( 'init' , 'disable_admin_bar' , 9 ) ;

add_filter( 'show_admin_bar', '__return_false' ); ?> <?php function hide_admin_bar_settings() { ?> <style type="text/css"> .show-admin-bar { display: none; } </style> <?php } function disable_admin_bar() { add_filter( 'show_admin_bar', '__return_false' ); add_action( 'admin_print_scripts-profile.php', 'hide_admin_bar_settings' ); } add_action( 'init', 'disable_admin_bar' , 9 );

4. Простое удаление верхней панели для всех, кроме админов

Можно скрыть панель от всех, кроме, скажем, админов блога. Для этого вставьте в functions.php следующий код:

function my_function_admin_bar ( $content ) { return ( current_user_can ( "administrator" ) ) ? $content : false ; } add_filter ( 'show_admin_bar' , 'my_function_admin_bar' ) ;

function my_function_admin_bar($content) { return ( current_user_can("administrator") ) ? $content : false; } add_filter( 'show_admin_bar' , 'my_function_admin_bar');

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

5. Полное удаление верхней панели для всех, кроме админов

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

function hide_admin_bar_settings() { ?> <style type="text/css"> .show-admin-bar { display: none; } </style> <?php } function disable_admin_bar ( ) { if ( ! current_user_can ( "administrator" ) ) { add_filter ( 'show_admin_bar' , '__return_false' ) ; add_action ( 'admin_print_scripts-profile.php' , 'hide_admin_bar_settings' ) ; } } add_action ( 'init' , 'disable_admin_bar' , 9 ) ;

function hide_admin_bar_settings() { ?> <style type="text/css"> .show-admin-bar { display: none; } </style> <?php } function disable_admin_bar() { if ( !current_user_can("administrator") ) { add_filter( 'show_admin_bar', '__return_false' ); add_action( 'admin_print_scripts-profile.php', 'hide_admin_bar_settings' ); } } add_action( 'init', 'disable_admin_bar' , 9 );

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

6. Плагин Admin Bar Disabler

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

Если вам лениво прописывать различный код в functions.php , то этот плагин избавит вас от необходимости делать что-либо вручную.

7. Перенос панели сверху вниз

Панельку можно расположить внизу:

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

function fb_move_admin_bar ( ) { echo ' <style type="text/css"> body { margin-top: -28px; padding-bottom: 28px; } body.admin-bar #wphead { padding-top: 0; } body.admin-bar #footer { padding-bottom: 28px; } #wpadminbar { top: auto !important; bottom: 0; } #wpadminbar .quicklinks .menupop ul { bottom: 28px; } </style>' ; } //в консоли add_action ( 'admin_head' , 'fb_move_admin_bar' ) ; //при просмотре сайта add_action ( 'wp_head' , 'fb_move_admin_bar' ) ;

function fb_move_admin_bar() { echo ' <style type="text/css"> body { margin-top: -28px; padding-bottom: 28px; } body.admin-bar #wphead { padding-top: 0; } body.admin-bar #footer { padding-bottom: 28px; } #wpadminbar { top: auto !important; bottom: 0; } #wpadminbar .quicklinks .menupop ul { bottom: 28px; } </style>'; } //в консоли add_action( 'admin_head', 'fb_move_admin_bar' ); //при просмотре сайта add_action( 'wp_head', 'fb_move_admin_bar' );

Для этой же цели можно использовать плагин Stick Admin Bar To Bottom .

8. Вывод верхней панели для всех посетителей

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

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

function pjw_login_adminbar ( $wp_admin_bar ) { if ( ! is_user_logged_in ( ) ) $wp_admin_bar -> 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 ) ;

function pjw_login_adminbar( $wp_admin_bar) { if ( !is_user_logged_in() ) $wp_admin_bar->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 () { ?> <style type="text/css"> #wpadminbar #adminbarsearch { display: none; } </style> <?php } add_action ( 'admin_head' , 'hide_admin_bar_search' ) ; add_action ( 'wp_head' , 'hide_admin_bar_search' ) ; }

if ( !function_exists('hide_admin_bar_search') ) { function hide_admin_bar_search () { ?> <style type="text/css"> #wpadminbar #adminbarsearch { display: none; } </style> <?php } add_action('admin_head', 'hide_admin_bar_search'); add_action('wp_head', 'hide_admin_bar_search'); }

После этого блок поиска исчезнет для всех посетителей блога.

10. Добавление и удаление ссылок в верхней панели

Можно удалить из панели некоторые меню или, наоборот, их добавить. Например, можно убрать меню " Комментарии " и " Внешний вид ":

Для удаления этих меню вставьте в functions.php код:

function my_admin_bar_render ( ) { global $wp_admin_bar ; $wp_admin_bar -> remove_menu ( 'comments' ) ; $wp_admin_bar -> remove_menu ( 'appearance' ) ; } add_action ( 'wp_before_admin_bar_render' , 'my_admin_bar_render' ) ;

function my_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->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 ", а вот некоторые из них:

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

Надо добавить в файл 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' ) ;

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 :

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

13. Плагин Admin Bar Theme Switcher

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

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

14. Плагин Admin Menus Fixed

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

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

Карта
rss