Боковая область WordPress

Оригинальное название: WordPress sidebar

Коротко

Место в макете темы, зарегистрированное в коде для размещения виджетов; в оригинале sidebar, хотя может находиться в подвале, шапке или под записью.

Что такое «Боковая область WordPress»

Название осталось с ранних блогов, где виджеты стояли в колонке сбоку от текста. Позже темы стали регистрировать такие зоны где угодно: три колонки в подвале, полоса над шапкой, блок после записи. В коде все они по-прежнему называются sidebar, а в интерфейсе — «Области виджетов». Эта статья — о стороне разработчика: как область появляется в теме. О том, как её наполняет владелец сайта, — в статье про область виджетов.

Регистрация и вывод

Тема объявляет область на хуке widgets_init, указывая ID, название и обёртки для каждого виджета:

add_action( 'widgets_init', function () {
    register_sidebar( array(
        'id'            => 'footer-1',
        'name'          => 'Подвал, колонка 1',
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );
} );

В шаблоне область выводят функцией dynamic_sidebar( 'footer-1' ), а обёртку вокруг неё — только при наличии виджетов, проверив is_active_sidebar( 'footer-1' ). Иначе на странице останется пустой блок с отступами.

Что ломается чаще всего

  • Сменили ID области в коде — виджеты «отвязываются» и уходят в неактивные. Они хранятся в настройке sidebars_widgets именно по ID.
  • При смене темы WordPress пытается сопоставить старые и новые области, но часто виджеты всё равно оказываются в неактивных и их приходится расставлять заново.
  • Заголовки виджетов выводятся тегом h2 или h3 на каждой странице — это лишние заголовки в структуре. Обёртку before_title лучше продумать заранее.

Двойное значение слова «сайдбар»

В редакторе блоков sidebar — это ещё и правая колонка с настройками записи и блока. С виджетами она никак не связана, подробнее — в статье о боковой панели настроек. В блочных темах зарегистрированные области не используются: их роль играют блоки в шаблонах.

Обновлено:

Все термины раздела «WordPress»

Что будем искать? Например,Продвижение