14 маніпуляцій з верхньою панеллю (admin bar) в WordPress
В WordPress з версії 3.1, з’явилась доволі цікава функція в вигляді “Верхньої панелі” або ж “Admin bar”.
Викликавши багато суперечок вона отримала своїх прихильників і людей які її просто відключають. Так же, багато кому вона імпонує, але функціонал залишає бажати кращого.
Щоб підлаштувати її під себе, ви можете скористатись наступними кодами:
1) Просте приховування верхньої панелі
Якщо ви єдиний хто зареєстрований на сайті, то тоді вам не потрібно застосовувати ніяких кодів взагалі, достатньо зайти в налаштування вашого профілю і в особистих налаштуваннях забрати галочку із пункта “Показувати верхню панель при перегляді сайту”
2) Просте видалення верхньої панелі
Наступний код видаляє верхню панель – повністю, для всіх зареєстрованих користувачів включаючи адміна.
В functions.php вашого шаблона додаємо наступну стрічку:
1 |
add_filter('show_admin_bar', '__return_false'); |
Правильніше буде сказати, що панель буде прихована, в профілі користувача залишиться функцій “Показувати верхню панель при перегляді сайту”, але вона не буде працювати.
3) Повне видалення верхньої панелі
Щоб повністю видалити панель з сайту, навіть з профілю користувача, потрібно вставити вже більший код в functions.php вашої теми:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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
1 2 3 4 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 вміє робити все вище перераховане і має надзвичайно простий вид, що дозволяє без проблем розібратися в ньому. Якщо вам важко вставити код в шаблон вашої теми, то цей плагін саме те, що вам потрібно.
7) Переносимо панель зверху вниз
Якщо вам зручніше буде, якщо панель буде в низу сторінки, тоді вставляємо наступний код в functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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
1 2 3 4 5 6 7 |
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
1 2 3 4 5 6 7 8 9 10 11 12 |
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
1 2 3 4 5 6 |
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” Деякі з них:
- my-account – посилання на меню профілю (при відключених граватарах)
- my-account-with-avatar - посилання на меню профілю (граватари включені)
- my-blogs - посилання на меню “мої сайти”
- get-shortlink - меню “коротке посилання” для поточного запису
- edit - меню “редагувати запис”
- new-content - меню “новий матеріал”
- comments - меню “коментарі”
- appearance - меню “зовнішній вигляд”
- updates - меню “оновлення”
Якщо вам потрібно додати посилання в верхню панель, прийдеться додати чуток складніший код. В functions.php додаємо наступний код для додання посилання на медіафайли:
1 2 3 4 5 6 7 8 9 10 11 |
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' ); |
11) Плагін Admin Bar Minimiser
Даний плагін дозволяє згортати і розгортати верхню панель, шляхом додання маленьких кнопок ”Hide” – згорнути, “Show” - розгорнути. На мій погляд, плагін мало чим корисний, але можливо комусь пригодиться.
Для того щоб перевести кнопки на іншу мову, заходимо в файл під назвою admin-bar-minimiser.php і пошуком знаходимо їх по англійській і переводимо.
12) Плагін WP Custom Admin Bar
Окрім повного видалення панелі для обраних користувачів плагін дозволяє настроїти зовнішній вигляд панелі через css, що погодьтесь, не так вже і погано :)
Мінус в тому, що автор плагіна не надає стилів, тому новачкам прийдеться попаритися. Автор також показує приклад налаштованої і оформленої панелі:
13) Плагін Admin Bar Theme Switcher
Дозволяє в верхній панелі замінювати шаблон сайта. Досить зручно, але заради того щоб зберегти пару кліків не варто нагружати сайт плагіном, як говориться ІМХО :)
14) Плагін Admin Menus Fixed
Дозволяє подружити нову верхню панель WordPress з меню від плагіна: Ozh Admin Drop Down Menu
Але плагін корисний тільки при виведенні верхній панелі в консолі. Якщо ви не виводите там панель, то і плагін вам навряд чи може знадобитися.