Как удалить верхнюю панель в админке у WooCommerce?

от автора

в

Если вам, как и мне, порядком надоела верхняя панель в панели администратора сайта у WooCommerce, то предлагаю с ней распрощаться!

Как я понял, кроме дублирующего заголовка текущего экрана (страницы) и нескольких неважных функций эта панель ничего существенного в себе не содержит. Так зачем занимать дорогую часть экрана?! Долой! 🙂

Удаляем верхнюю панель WooCommerce
<?php
/**
 * Удаляем служебный верхнюю панель WooCommerce в панели управления WordPress.
 *
 * @see https://woocommerce.github.io/code-reference/classes/Automattic-WooCommerce-Admin-Loader.html
 * @author Code==Poetry <codeispoetry@mail.ru>
 */
add_action( 'admin_head', function (){
    remove_action( 'in_admin_header', array( 'Automattic\WooCommerce\Internal\Admin\Loader', 'embed_page_header' ) );
    print '<style>#wpadminbar + #wpbody { margin-top:0; }</style>';
});

Шаг за шагом

Исследуем элемент этой верхней части (header)

Исследуем элемент этой верхней части

Видим идентификатор, за которой и можно зацепиться. Переходим в директорию с плагином WooCommerce и ищем пофайловым поиском соответствие. Находим его в файле класса Loader:

Loader Class

Этот элемент находится в методе embed_page_header(), который вызывается 1 раз. Исследуем файл и обнаруживаем его в конструкторе класса:

конструктор класса лоадер

Далее нам необходимо удалить этот, который закреплен за хуком in_admin_header. При помощи функции remove_action удалим этот метод. Вместо __CLASS__ необходимо указать пространство имён + название класса:

Получаем:

remove_action( 'in_admin_header', array( 'Automattic\WooCommerce\Internal\Admin\Loader', 'embed_page_header' ) );

P.S. Вполне возможно пространство имён в новых версиях может измениться, но принцип я думаю ясен.

Далее, «вешаем» этот «экшен» на событие происходящее только в верхней части панели администратора.

add_action( 'admin_head', function (){

    remove_action( 'in_admin_header', array( 'Automattic\WooCommerce\Internal\Admin\Loader', 'embed_page_header' ) );

});

И это даёт уже результат! Правда с небольшим нюансом.

Панель удалилась, но осталось пространство, которое явно нам ни к чему. Инспектируем эту область и находим нужное нам правило, которое и создаёт этот отступ:

Дополним наш код строчкой, которая при помощи языковой конструкции print выведет строчку дополнительного стиля, в котором благодаря новому правилу мы избавляемся от отступа.

Буду признателен за Share 🙏


Комментарии

Добавить комментарий

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