Intereting Posts
Как отображать содержимое Если функция существует / условие true? Запустить Shortcode пользовательского поля post в файле functions.php / Plugin Добавление нескольких редакторов WYSIWYG к настраиваемому типу сообщений Добавить родительский идентификатор в body_class Отображение разного кода на страницах с разными макетами Удалить боковые панели со страницы Как get_post_meta в коротком коде в выдержке на страницах архива Используйте delete_category, delete_term или какое действие при удалении термина категории? Подсчет просмотров страниц на сайтах с высокой пропускной способностью Как использовать несколько шаблонов архива для таксономии? Разные «WP_CONTENT_URL» для разных подсайтов в настройках Multisite? Обновление постмета после переключения темы поиск содержимого боковой панели в wordpress WordPress 3.8. Схема управления контентом админка добавляет больше схем, как это сделать? do_shortcode () не делает коротких кодов;)

Скрыть панель инструментов администратора на основе строки запроса

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

Я хочу иметь более конкретный контроль над панелью видимости администратора, чтобы иметь возможность скрывать его на основе строки запроса URL-адреса, например (например, « ?hidetoolbar в конце URL-адреса).

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

  add_filter('show_admin_bar', '__return_false'); 

Какой бы крючок я использовал, чтобы применить фильтр условно в functions.php ?

Вы должны просто добавить фильтр внутри условного выражения:

 <?php if ($_GET['hidetoolbar']) { add_filter('show_admin_bar', '__return_false'); } ?> 

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

 <?php function my_manage_toolbar() { if ($_GET['hidetoolbar']) { return false; } return true; } add_filter('show_admin_bar', 'my_manage_toolbar'); ?> 

Вы можете попробовать это в файле functions.php:

 if (isset($_GET['hidetoolbar'])) { add_filter('show_admin_bar', '__return_false'); }