Выводим разные сайдбары для каждой записи и страницы

Если вы используете WordPress, то наверняка заметили, что WordPress отображает один и тот же сайдбар на всем сайте в большинстве тем, за исключением случаев, когда дизайнер самостоятельно создал пользовательскую главную страницу (и в этом случае сайдбар будет отображаться везде, но не на главной). В сегодняшней статье мы поделимся способом, который позволит вам выбирать различные сайдбары для отображения на каждой записи и странице в WordPress. Это отличный сниппет для всех разработчиков и дизайнеров тем WordPress и других интересующихся пользователей.

Эта статья будет использовать Пользовательские поля и возможность вызова определенных шаблонов php. Таким образом подразумевается следующее: вы должны обладать базовыми знаниями HTML и CSS для того, чтобы создать отдельный шаблон.

Первым делом мы открываем файл single.php и/или single.php темы ВП и находим следующий код:

<?php get_sidebar(); ?>

Заменяем этот код следующим:

<?php $sidebar = get_post_meta($post->ID, "sidebar", true);
get_sidebar($sidebar);
?>

Теперь, при добавлении новой записи или страницы где вы хотите вывести свой сайдбар вам нужно добавить пользовательское поле с именем “Sidebar” и в значение записать название файла для этого сайдбара. Например, если вы вставите “devise-page”, он выведет sidebar-devise-page.php в качестве сайдбара.

customfieldspecificsidebar[1]

Файл уже должен находиться в папке с темой для того, чтобы можно было его вызывать. Такой способ обычно используется на сайтах крупных журналов, однако можно использовать и для отдельных страниц. Один из самых простых способов создать новый файл для сайдбара — скопировать ваш текущий код из sidebar.php в новый файл, задать ему нужное имя и отредактировать при необходимости.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Алексей Чижиков

    Может этот вариант и работает…но Вы упускаете подробности-» при добавлении новой записи или страницы где вы хотите вывести свой сайдбар вам нужно добавить пользовательское поле с именем “Sidebar”»- КУДА ДОБАВИТЬ ?- Если например в моем шаблоне или WP нет custom fields ?

    • ADv

      На нужной странице в режиме редактирования в правом верхнем углу нажимаем на «Настройки экрана», далее отмечаем галочку рядом с «Произвольные поля» и эти самые произвольные поля отображаются под основным окном редактирования записи. Уже была статья по произвольным записям, кстати…

  • nik

    Conditional Widgets плагин указывай в виджетах для отображения в определенных рубриках, страницах

Scroll To Top