Часть 1
Бывает что вывести какой-то блок информации можно только с помощью виджета. Например рекламные блоки для sape или слайдшоу плагином nextgen-gallery. Виджеты как правило выводятся в теме в сайдбаре, а нам нужно вывести блок с рекламой для sape или просто список последних записей/комментариев и тд, все зависит от вашей фантазии и возможностей wordpress.
Я хочу рассказать как можно сделать новый динамический сайдбар в теме для вывода виджетов. Для понимания процесса вам нужно представлять что такое виджет, динамические виджеты, структуру тем в wordpress.

Виджеты

Я рассматриваю виджеты как какие-то небольшие модули, которые что-то вносят в блог. Виджет последних записей, комментирев, ссылок, я думаю, видели почти все в wordpress.

Сайдбар (sidebar)

Это место в wordpress шаблоне, где выводятся виджеты. Для удобства обычно создают отдельный шаблон sidebar.php, в котором и помещают код, отвечающий за вывод виджетов. Сайдбар может быть статическим (код прописан в шаблоне) и динамическим (виджеты настраиваются в админке).

Часть 2

Создаем свой динамический сайдбар

Если посмотреть на темы в wordpress, то мы увидим, что почти во всех темах вывод виджетов устроен примерно одинаково. Я не буду рассматривать все возможные случаи, расскажу саму идею. Для наглядности откройте в любой wordpress теме шаблон sidebar.php. Почти во всех таких шаблонах (в некоторых темах манера исполнения немного другая) можно встретить конструкци:

<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) ) : else : ?>

.... // здесь обычно пишется код для статического сайдбара, т.е. если у нас не выбрано не одного виджета в админке для этого сайдбара, то будет выполняться этот код

<?php endif; ?>

где dynamic_sidebar(x) - номер сайдбара по порядку. Просто указываем следующее число от самого большого.

в шаблоне fonction.php находим что-то похожее на

if ( function_exists('register_sidebars') )
register_sidebars(x);

где x в скобках показывает сколько динамический сайдбаров зарегистрировано. Мы прибавляем соответственно это число на единицу.

Собственно, эта конструкция и отвечает за вывод сайдбара. Вставляем такую конструкцию в нужное место шаблона, например в футер - чтобы вывести блок ссылок для sape (это удобнее делать плагином A2P SAPELinks) или вывести на главной странице галерею фотографий или слайдшоу. Я рекомендую еще все заключить в контейнер <div>, чтобы было проще и понятнее. Внешний вид сайдбара будет создаваться CSS для контейнеров и виджетов. Т.е. если он должен отличаться от оформления стандартных виджетов в определенной теме, то поместив все в контейнер <div> и указав ему уникальный ID или class, мы можем написать новые цепочки стилей:

#ID старая_цепочка {

...

}

.class старая_цепочка {

...

}

Создавать собственные сайдбары очень удобно. Это позволяет отойти от однообразия wordpress тем, которые в большинстве своем, имеют одинаковую структуру.

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

Прочтите также: