Intereting Posts
Сделать глобально доступным с помощью jQuery.noConflict () WP 4.4. реагирующие нагрузки нормального изображения после загрузки чувствительного изображения Вставить термин и дочерний термин из интерфейса Как сделать продукты без каких-либо затрат в woocommerce Могу ли я легко переключать темы на полностью построенном веб-сайте? Выполнение действия WordPress при изменении пользовательского типа типа публикации (категория таксономии) Вызов другой страницы архива на основе типа сообщения WordPress как коллекция общих предметов Изменить тип постоянных ссылок на диалог TinyMCE Как использовать current_post для открытия нового неупорядоченного списка каждые пять сообщений количество сообщений на страницу + случайные + исключить категории add_filter the_content str_replace после короткого кода Получить список сообщений, имеющих хотя бы один термин из пользовательской таксономии с WP_Query Как вы держите свой живой и тестовый сервер? Отображение RSS-канала через fetch_feed. Как показать название сайта в фиде?

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

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

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; } 

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