Intereting Posts
Очистить постоянную ссылку URL для настраиваемого типа сообщения Можно добавить еще одну настройку в настройку «Параметры передней страницы» для пользовательского типа сообщения Автоматическое перенаправление после входа в систему Как избавиться от нижней строки в меню навигации через файл CSS? запрос, который чередует текстовые сообщения с изображениями из медиа-галереи скрывать определенные категории от показа Перенаправить страницу вложений в приложение Неустранимая ошибка post.php help :( Как создать страницу, содержащую список названий сообщений из определенных категорий? TinyMCE – нет автоматического форматирования с использованием the_editor ()? register_taxonomy () принимает много запросов Регистрация пользователя WordPress + bbPress – недружественная? Как установить статическую главную страницу html Сделать персонализированный почтовый мета сортируемый интерфейс Nonce не проверяет при вызове nopriv

Отключите панель администратора (панель инструментов) в бэкэнд – нет простого способа

Я работаю над темой для вспомогательных страниц администратора, это для пользовательского веб-приложения, построенного на WP.

Изучив admin-bar.php и функцию is_admin_bar_showing() в течение нескольких минут, я решил сделать это:

 function kill_admin_toolbar() { add_filter( 'xmlrpc_enabled', '__return_false' ); define( 'XMLRPC_REQUEST', false ); } add_action( 'admin_init', 'kill_admin_toolbar' ); 

Я никогда не планирую использовать XML-RPC с этим приложением.

С этим кодом в верхней части экрана администратора больше нет полосы 32px неподвижной панели инструментов.

Пока я не вижу каких-либо странных побочных эффектов; Ребята, что вы думаете?

Это либо это, либо я admin-bar.php и вставляем return false; сразу после определения функции для is_admin_bar_showing() . Однако идея касаться даже одного файла ядра действительно беспокоит меня.

На самом деле безумие в этой функции недостаточно, чтобы сделать это.

Solutions Collecting From Web of "Отключите панель администратора (панель инструментов) в бэкэнд – нет простого способа"

Хотя то, что вы использовали, пока работает, я не могу гарантировать, что он не будет вызывать другие проблемы сейчас или в будущем, потому что, как вы уже знаете, is_admin_bar_showing() не является тем, что проверка константы XMLRPC_REQUEST был разработан для. Поэтому, даже если это не вызывает проблем, я не думаю, что это будет использовать будущее в будущем.

Тем не менее, я продолжил вашу охоту, и я думаю, что нашел необходимый вам фильтр: wp_admin_bar_class .

Возврат false к этому фильтру или возврат любой строки, не соответствующей имени определенного класса , приведет к короткому замыканию _wp_admin_bar_init() и, таким образом, никогда не будет инициализировать панель в первую очередь:

 add_filter( 'wp_admin_bar_class', '__return_false' ); 

Это работает, но, к сожалению, дает мне хороший пробел, где раньше была панель администратора, из-за того, что CSS-класс wp-toolbar присутствует в <html> панели мониторинга. Это добавлено в wp-admin / includes / template.php, и я не могу сразу увидеть способ удалить его в PHP. Таким образом, вам, вероятно, придется переопределить это дополнение с помощью специального CSS (извините, возможно, только PHP-решение не возможно!):

 add_action( 'admin_head', function(){ ?><style> html.wp-toolbar { padding-top: 0; } </style><?php }); 

Могут быть другие незначительные икоты в результате удаления панели администратора, как это, учитывая, что is_admin_bar_showing() прежнему технически возвращает true, но я думаю, что они были бы довольно незначительными, и если вы найдете их, это, вероятно, не будет слишком сложным найти обходное решение.

Чтобы быть уверенным (на данный момент, по крайней мере), вы могли бы искать источник для любых функций функции. Начиная с версии 4.5.3, использование ограничено четырьмя файлами: admin-header.php , template.php , admin-bar.php и post-template.php , и с беглым взглядом кажется, что вы можете захотеть отфильтровать admin_body_class чтобы удалить 'admin-bar' оттуда тоже, на всякий случай (для меня это не делает видимой разницы).

См. Также класс «no-customize-support» – я не думаю, что это повлияет на вас, потому что оно, по-видимому, предназначено только для параметров меню «hide-if-no-customize» на панели инструментов … что, конечно, вы все равно не показываете!