Как добавить дополнительный sidebar для виджетов в WordPress?

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

Порой разработчики темы предоставляют на выбор несколько возможных сайдбаров, куда вы можете перетащить widget . Но бывают и темы, где сайдбаров 1-2, и они используются чисто для нужд самой темы (то есть новые виджеты вы туда запихнуть не сможете).

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

Для начала необходимо зарегистрировать ваш сайдбар. Это можно сделать в файле functions.php в папке с шаблоном. Некоторые разработчики шаблонов создают спец. функцию по регистрации сайдбаров. К примеру, function twentyten_widgets_init() {}. Это не принципиально. Просто найди то место в коде, где происходит регистрация. Выглядит это примерно так:

register_sidebar(array(
	'name'=>'Site description',
	'before_widget' => '<div class="site-description">',
	'after_widget' => '</div>'
));

Как добавить свой сайдбар?

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

register_sidebar( array(
	'name' =>'Second sidebar',
	'id' => 'secondary-widget-area',
	'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
	'after_widget' => '</li>',
	'before_title' => '<h3 class="widget-title">',
	'after_title' => '</h3>',
) );

Name — название вашего sidebar. оно будет отображаться в админке.

id — уникальный идентификатор. Он вам понадобиться при добавлении на страницу (об этом ниже).

before_widget — код/текст, который будет вставлен перед каждый виджетом.

after_widget — соответственно, код/текст, который будет вставлен после каждого виджеа.

before_title — код/текст, который будет вставлен перед заголовком виджетов.

after_title — код/текст, который будет вставлен после заголовком виджетов.

После добавления выше приведённого кода в файл, сохраните его и зайдите на страницу виджетов в административной панели. Теперь точно так же, как и с остальными сайдбарами, вы можете перетаскивать на новый необходимые виджеты. Чтобы этот сайдбар отобразился на вашем веб-сайте, вам нужно открыть соответствующий файл шаблона, а именно sidebar.php, и найти код:

<div class="sidebar">
     ...
</div>

Вам необходимо в том месте, где вы хотите видеть свой сайдбар, добавить его между открывающим и закрывающими тегами. Будет примерно так:

<div class="sidebar">

	///...
	<?php  dynamic_sidebar( 'secondary-widget-area' ); ?>
</div>

Для красивого вывода, можете включить этот код в блок:

<div class="sidebar">

	
	<div id="secondary"  role="complementary" class="widget widget_recentposts_thumbnail">
	  <?php  dynamic_sidebar('secondary-widget-area' ); ?>
	</div>
</div>

Как вы уже наверно заметили secondary-widget-area при выводе на странице — это имя сайдбара. Оно должно быть точно таким же, как имя указанное при регистрации в файле functions.php. Теперь, редактируя файл style.css придать сайдбару нужный вид.

  Категории: php, WordPress