Я хочу иметь разные боковые панели на разных страницах.
Итак, сначала я зарегистрировал несколько базовых сайдбаров в functions.php. Так что они всегда будут там, куда бы я ни переместил свою тему. Назовем их Стандартная боковая панель, Специальная боковая панель, Крошечная боковая панель.
Следующим шагом было создание метабокса боковой панели под постами и страницами. Он перечисляет все боковые панели, используя цикл foreach $GLOBALS[‘wp_registered_sidebars’] и позволяет пользователю выбрать одну из них.
А вот и беда.
Я не знаю, как отображать боковые панели.
У меня есть мета-значение, но get_sidebar() принимает только имена из файла sidebar.php.
Как насчет зарегистрированных (не включенных в sidebar.php) боковых панелей?
Я знаю, что могу добавить все свои боковые панели в sidebar.php/сохранить их как sidebar-name.php, но опять же, я собираюсь использовать генератор боковых панелей, чтобы добавить дополнительные боковые панели к трем основным.
Любые идеи, пошаговые инструкции, как это сделать? Отображение зарегистрированных сайдбаров по названию будет серьезным прорывом в моем случае.
Вы можете вызывать зарегистрированные боковые панели с помощью функции dynamic_sidebar(). Просто введите идентификатор боковой панели в вызов. В случае ниже идентификатор будет домашней страницей-сайдбаром.
действительно старая функция, пора перестать проверять, существует ли она. 🙂 Это просто передается как тайное заклинание…
достаточно честно, я просто хранил фрагмент некоторое время и не удосужился его изменить.
Боже мой, я был таким слепым ;/ На самом деле, я нашел тот же самый код, который дал @curtismchale, в моем собственном файле sidebar.php… Просто переместил его оттуда в page.php… Большое спасибо, ребята, + 1 🙂
@Wordpressor вместо того, чтобы перемещать его на page.php, вы все равно должны вызывать get_sidebar() и помещать свои условные выражения в sidebar.php.