Зачем Вордпрессу виджеты?

Виджеты WordPress — это информационные блоки, которые располагаются в боковых сайдбарах, а также могут находиться в других местах, предусмотренных шаблоном. Поскольку блог на WordPress, так же как и Джумла блог или на любой другой CMS, является динамическим, то есть использует для хранения текстов базу данных и функционирует на программном php коде. Поэтому информационными блоками можно управлять непосредственно из администраторского раздела и проставлять их в любом подходящем для вас порядке и количестве. Удобство виджетов WordPress заключается еще и в том, что они работают на jQuery — они легко меняются местами перетягиванием мышкой, так что их расположение всегда наглядно контролируется.

Изначально в WordPress уже есть набор предустановленных виджетов, таких как RSS, Рубрики, Поиск, Календарь и другие. Есть также виджет, с помощью которого можно поместить в боковую колонку любой html код и текст.

Зачем Вордпрессу виджеты?

Находится страница управления виджетами по ссылке «Внешний вид — Виджеты»
Кроме этих предустановленных в WordPress виджетов, к большинству устанавливаемых сторонних плагинов так же прилагаются оные для отображения той или иной функциональной или статистической информации. Есть также и отдельные без плагина, также дающие возможность показать те или иные данные.

Зачем Вордпрессу виджеты?

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

Зачем Вордпрессу виджеты?

Как я уже говорил, виджеты добавляются в сайдбары простым перетаскиванием мыши с зажатой левой кнопкой. Если хотите деактивировать один из них, но не потерять произведенные в нем настройки, то перетащите его из зеленой колонки в красную для неактивных. Если удалить насовсем со всеми изменениями — то в синюю.

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

                        

                                
                                        

                                        
                                

                                
                                        

                                        
                                

                        
                

В нем условие

if ( ! dynamic_sidebar( 'primary-widget-area' ) ) :

говорит о том, что показывать, если в сайдбаре с id primary-widget-area не находится ни одного виджета. В данном варианте будут отображаться Архив и Метки.

Немного отредактировав код, сюда можно вставить какую-то информацию напрямую без использования админки. Это бывает целесообразно, если у вас нет плагина, поддерживающего вставку php кода в виджет из редактора (exec php).

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

Динамические виджеты WordPress

Одним из недостатков встроенной функции размещения виджетов является то, что они задаются сразу для всех или для группы страниц. И это не очень правильно в двух смыслах — во-первых, бывает такая ситуация, что в основном окне информации мало, а в сайдбаре такое же количество, как и в какой-нибудь большой статье. Тогда боковая колонка получается в несколько раз длиннее основного окна, что некрасиво смотрится. И вторая проблема — дублированный контент. То есть однажды просканировав текст в виджетах, поисковый робот внес их тексты в базу и когда на других страницах видит то же самое, считает это плагиатом и может понизить их вес. Выход из ситуации — установить плагин Dynamic Widgets, который превращает статические виджеты WordPress в динамические. То есть можно детально настроить, на какой странице, в какой категории, для какой группы пользователей (и так далее) каждый из них будет отображаться.

Детально работа плагина разбирается в видеоуроке, который я Вас призываю посмотреть.


[pwal id=»11826414″ description=»Чтобы посмотреть видеоурок, нажмите на одну из кнопок»]

[/pwal]

Динамические виджеты без плагина

Частично восполнить функции плагина можно без его использования, а именно отключить их на определенных страницах. один из вариантов — создать отдельный шаблон страницы без сайдбара и при публикации статьи выбрать именно его. Другой вариант — сделать все на фуекциональном уровне, использовав в functions.php такой код:

function disable_sidebar_widgets( $sidebars_widgets ) {
    if (is_single(array(1,2,3,4)))
        $sidebars_widgets = array( false );
            return $sidebars_widgets;
}
add_filter( 'sidebars_widgets', 'disable_sidebar_widgets' );

Здесь значения 1,2, 3,4 — это ID тех записей, в которых не будут показаны виджеты.

Так же в WordPress есть возможность вставить определенный виджет в любом месте шаблона, не обязательно в предназначенном для них сайдбаре. Делается это при помощи вставки в нужное место шаблона кода:

«Названий виджетов» есть несколько, они уже предустановлены в системе. Вот список:

WP_Widget_Archives — архив WP_Widget_Calendar — календарь WP_Widget_Categories — категории WP_Widget_Links — ссылки WP_Widget_Meta — административные ссылки WP_Widget_Pages — страницы WP_Widget_Recent_Comments — последние комментарии WP_Widget_Recent_Posts — последние посты WP_Widget_RSS — RSS WP_Widget_Search — форма поиска WP_Widget_Tag_Cloud — облако тегов

WP_Widget_Text — текстовый виджет (текст, HTML и PHP)

Оцените статью