Если у меня есть несколько разных шаблонов страниц, как мне отобразить разные наборы виджетов боковой панели для каждого из этих шаблонов? Я использую тему Starkers в качестве отправной точки.
Share
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Это дубликат, у вас уже есть очень похожий вопрос: wordpress.stackexchange.com/questions/805/… — если вы не получили там ответ, который искали, отредактируйте исходные вопросы и сделайте его более точный.
вопрос немного в другом
Все ответы такие же, как и в другом посте, хотя
Обратите внимание, что этот плагин создает большую угрозу безопасности, используя функцию оценки PHP.
Вам нужно будет создать дополнительные боковые панели в файле functions.php, а затем отредактировать шаблоны страниц, чтобы вызвать нужную боковую панель.
Добавление боковых панелей
Войдите в свой файл functions.php. Вы должны увидеть, что некоторые боковые панели уже зарегистрированы. Код будет выглядеть примерно так:
Чтобы добавить еще одну боковую панель, добавьте следующий код любое количество раз после регистрации существующей боковой панели.
Там, где написано «Назовите боковую панель здесь», введите логичное имя для этой новой боковой панели. Остальная часть массива позволяет вам поместить HTML перед виджетом (before_widget), если ваша тема требует этого для своего дизайна, и поместить HTML после виджета (after_widget). Кроме того, в темах чаще используется собственный стиль для заголовков виджетов. Вы можете поместить этот HTML перед заголовком (before_title) и после заголовка (after_title). В приведенном выше примере заголовок каждого виджета будет
<h2 class="widgettitle">
помещен перед ним и после него, чтобы закрыть открывающий тег.Добавьте новую боковую панель в шаблоны страниц.
Теперь, когда вы добавили боковую панель, вам нужно поместить ее в шаблон страницы там, где вы хотите. Найдите, где внутри вашего шаблона вызывается боковая панель по умолчанию (обычно) и замените ее на следующую, где число — это порядок добавления боковой панели в файл functions.php.
Эта боковая панель была второй, добавленной в файл functions.php, поэтому, чтобы вызвать ее в шаблоне страницы, вы должны поместить 2 внутри
!dynamic_sidebar(Put sidebar number here) )
.Добавить виджеты
После того, как вы добавили его в шаблон страницы, просто добавьте виджеты на боковую панель на странице администрирования «Внешний вид» -> «Виджеты». Новая боковая панель появится там с именем, которое вы дали ей в файле functions.php.
Надеюсь это поможет!
И Widget Logic тоже вариант.
Widget Logic — одно из решений, и тоже хорошее.
Несколько боковых панелей — более надежное решение, поскольку вы можете полностью настроить всю разметку _widget до/после в functions.php. Не говоря уже о том, что вы можете сделать любое количество этих боковых панелей.
Более легким решением может быть просто использование класса body для различения типов страниц в css. Спрячьте то, что вам не нужно, покажите то, что вы делаете. Это быстрый и простой способ добиться такого рода вещей.
Другим решением является плагин Display-Widgets, он добавляет выпадающее меню в каждый виджет, который вы активировали на боковой панели, где вы можете выбрать, на каких страницах/сообщениях показывать или скрывать его.
два других варианта: 1. вместо того, чтобы усложнять «sidebar.php», добавьте новые боковые панели с виджетами в новый файл боковой панели «sidebar-xxx.php», а затем в шаблоне страницы используйте