Метка: сайдбары

  • 12.05.15
  • 21:44
  • 1134
  • 0
Правый сайдбар

Правый сайдбар

Задача: сайдбары темы должны поддерживать несколько вариантов оформления виджетов (см. рис.) Соответствие вариантов виджетам задано в виде двухуровневого хеша:

id сайдбара => id_base типа виджета => вариант оформления.

Т. е. режим отображения виджета следует получать так:

Все режимы являются частью шаблонов (содержат фрагменты вёрстки) и не имеют настраиваемых параметров. Поэтому они заданы в виде массива $AVAILABLE_MODES прямо в коде темы.

Массив соответствия вариантов виджетам $a_widget_modes является настраиваемым и каким-либо образом задаётся администратором.

Решение задачи сводится к коррекции передаваемых виджету параметров сайдбара before_widget, after_widget, before_title и after_title.

Корректировка проводится фильтром 'dynamic_sidebar_params'. Фильтруемым значением является числовой массив, содержащий два элемента:

  • [0] — параметры сайдбара, идентификатор и имя виджета;
  • [1] — хеш с номером виджета.