Intereting Posts
Добавьте выбранный вариант коротких кодов, таких как выпадающее меню в тиниме Сохранять настройки по умолчанию для DB при активации темы Как показать всплывающее окно для группы пользователей? Получите meta_id вместе с meta_key и meta_value Показать номера страниц категории категорий для более старых сообщений Отображать заголовок текущей категории на странице категории Как разрешить посетителям фильтровать сообщения по нескольким таксономии Пользователи Проблемы с удалением панели администратора Изменить заголовок только на динамической странице Google Analytics не будет работать в WordPress Добавить текст специально для заказа-прокси-электронной почты в WooCommerce Возвращайте только пользовательский подзаголовок для настраиваемого типа сообщения, не эхо-родитель-родитель Использовать объекты и объекты привязки с одним узлом в поддоменах Не используйте кнопки Media + Quick Edit

Ограничить виджет определенной боковой панелью?

У меня есть несколько «боковых панелей», но не все из них имеют одинаковый размер. Не все виджеты подходят во всех боковых панелях (например, у меня есть «боковая панель нижнего колонтитула», где клиент может размещать пользовательские виджеты, но они широкие и совсем не подходят на «реальной» боковой панели). Я хочу дать указание, когда виджет размещен на боковой панели, где он не будет принадлежать (например, измените цвет текста заголовка). Какой был бы лучший способ сделать это?

Solutions Collecting From Web of "Ограничить виджет определенной боковой панелью?"

Существует крючок widget_display_callback, который вы можете использовать для переопределения виджета на основе боковой панели и виджета (возвращайте false, когда это неуместно):

http://core.trac.wordpress.org/browser/trunk/wp-includes/widgets.php?rev=15590#L180

Я решил это с помощью CSS, похожего на мой трюк, чтобы выделить мои собственные виджеты . Области удаления боковой панели – это div с widgets-sortable класса widgets-sortable и они имеют id вашей боковой панели. Вашими виджетами являются div с виджетами класса и id widget формы widget-[global_counter]_[widget_key]-[widget_id] . Вы можете комбинировать их, чтобы выделить правильные или неправильные комбинации.

Например, у меня есть боковая панель под названием footer которая должна содержать только широкие виджеты. Эти виджеты распознаются, потому что их идентификатор включает в себя – -wide- . Я хочу, чтобы они были зелеными, а все остальные красные с ударом.

 add_action('admin_print_styles-widgets.php', 'print_widget_hint_style'); function print_widget_hint_style() { echo <<<EOF <style type="text/css"> /* Less specific rule for all widgets */ div.widgets-sortables[id*=-footer] div.widget .widget-title { color: red; text-decoration: line-through; } /* More specific rule for correct widgets */ div.widgets-sortables[id*=-footer] div.widget[id*=-wide-] .widget-title { color: green; } </style> EOF; } 

Вероятно, я бы определил свои собственные области виджетов, которые вставляют туда все виджеты в область администрирования, и только помещают эту область виджетов в определенное место в теме.