24.09.2015      1509      0
 

Как отключить встроенные стили оформления для админбара wordpress.

Недавно я разрабатывал новый шаблон оформления wordpress, со сменными цветовыми схемами. Шаблон получился на славу….


Недавно я разрабатывал новый шаблон оформления wordpress, со сменными цветовыми схемами. Шаблон получился на славу. Однако, в качестве последнего штриха было просто необходимо заменить встроенные в wordpress стили оформления для админбара. Разумеется, прежде, чем лезть в код самостоятельно, я решил поискать в рунете — не найдётся ли уже готового решения. К моему немалому удивлению, решения не нашлось. Видимо, до меня никто особо не озадачивался подобными проблемами. А вот в англоязычном сегменте сети решение нашлось. Впрочем, и там его оказалось откопать непросто. Вот оно:

if( !is_admin() ){
add_action( 'wp_enqueue_scripts', 'xyz_remove_admin_bar_css', 21 );
add_action( 'admin_enqueue_scripts', 'xyz_remove_admin_bar_css', 21 );
function xyz_remove_admin_bar_css() {
    wp_dequeue_style( 'admin-bar' );
    wp_dequeue_style( 'admin-bar-min' );
}
}

Данный код необходимо поместить в файл functions.php вашей темы оформления. Им будут отключены следующие строки в коде вашей странички:


Но вскоре я понял, что это решение не в полной мере удовлетворяет моим потребностям. Так, как, я так и не смог сообразить, каким образом можно отключить лишь стили admin-bar.min.css, без отключения dashicons.min.css, мне пришлось иным образом разбираться со стилями админбара. На самом деле, тут всё довольно просто. Хотя и пришлось добавлять в css файлы своей темы довольно много лишних стилей. Для начала, следует открыть файл admin-bar.css из папки wp-includes/css/ и скопировать стили из него в файл стилей вашей темы. После чего, нужно внести необходимые вам правки в эти стили, используя декларацию !important для тех пар «класс:значение», «id:значение», значения которых в вашей теме оформления должны отличаться от значений этих классов и id по умолчанию. Так, например, значение

background: #23282d;

для #wpadminbar, отвечающее за фоновый цвет админбара по умолчанию, может быть переопределено, например так:

background: #999966 !important;

И таких стилей нужно будет заменить довольно много. Откровенно говоря, стили админбара, остались для меня, во многом загадкой. Одни классы и id в нём, прекрасно изменяют свой внешний вид и без декларации !important, другие же без этой декларации не хотят менять внешний вид ни в коем случае. А назначение многих из этих классов и id, так и осталось для меня непонятным. Впрочем, нужный результат был мной достигнут.
Также, можно удалить из админбара отдельные его элементы. Ниже я привожу код, который тоже добыт мной на одном из буржуйских сайтов. Прямо в коде перевожу пояснения — какие строки удаляют из админбара какие элементы.

// Удаляет ненужные элементы из админбара
function wpsnippy_admin_bar() {
    global $wp_admin_bar;

// Удаляет из админбара блок ссылок на сайт wordpress
   $wp_admin_bar->remove_menu('wp-logo'); //Удаляет логотип вордпресс
   $wp_admin_bar->remove_menu('about');   //Удаляет ссылку на страницу в консоли о текущей версии вордпресс
   $wp_admin_bar->remove_menu('wporg');   //Удаляет ссылку на сайт вордпресс
   $wp_admin_bar->remove_menu('documentation'); //Удаляет ссылку на страницу документации по вордпресс
   $wp_admin_bar->remove_menu('support-forums'); //Удаляет ссылку на форум поддержки вордпресс
   $wp_admin_bar->remove_menu('feedback'); // Удаляет ссылку на форму обратной связи с поддержкой вордпресс

// Удаляет из админбара Имя сайта/Субменю сайта и ссылки на редактирование настроек сайта
   $wp_admin_bar->remove_menu('site-name');
   $wp_admin_bar->remove_menu('view-site');
   $wp_admin_bar->remove_menu('edit');

// Удаляет ссылку на обновление вордпресс
   $wp_admin_bar->remove_menu('updates');

 //Удаляет ссылку на комментарии
   $wp_admin_bar->remove_menu('comments');

// Удаляет меню добавления нового контента
   $wp_admin_bar->remove_menu('new-content');

// Удаляет ссылку на профиль автора и форму поиска
   $wp_admin_bar->remove_menu('top-secondary');
   $wp_admin_bar->remove_menu('search');

// Удаляет меню автора
   $wp_admin_bar->remove_menu('user-actions'); 
   $wp_admin_bar->remove_menu('user-info');
   $wp_admin_bar->remove_menu('edit-profile'); // Удаляет ссылку на редактирование профиля пользователя
   $wp_admin_bar->remove_menu('logout');  // Удаляет ссылку выхода из аккаунта

}
add_action( 'wp_before_admin_bar_render', 'wpsnippy_admin_bar' );


Об авторе: Алексей

Меня зовут Алексей, мне 39 лет, и вот уже десять лет как одним из моих многочисленных увлечений стало создание и продвижение сайтов. Подчёркиваю, что это именно хобби, а не основная моя работа. Тем не менее, я никогда не упускал возможности заработать на своих увлечениях. На страницах этого сайта, вы найдёте как множество моих наработок в сфере сайтостроения, так и полезную информацию о продвижении готовых сайтов. Если вы любознательны и любите узнавать новое, мои рекомендации помогут вам освоиться в непростом деле создания сайтов и их продвижения. Ну а если вы слишком далеки от html, css и прочих web-штучек, вы всегда можете воспользоваться моими услугами как вебразработчика, так и сеошника. Желаю Вам с пользой провести время на моём сайте!

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности