Виджеты представляют собой настолько неотъемлемую часть темы WordPress, что сложно даже представить тему ВП без них. Виджеты — это исполняемые скрипты, которые вы просто можете перетянуть в ваш сайдбар или на любую произвольную область виджетов в вашей теме. Множество пользователей используют виджеты для того, чтобы добавить элементы в свой сайдбар. Однако эта статья для тех любознательных пользователей, которые хотят научиться добавлять динамические сайдбары для виджетов или произвольные области для виджетов в тему WordPress самостоятельно.
Регистрируем сайдбары или произвольные области для виджетов в WordPress
Прежде всего вам необходимо зарегистрировать ваш сайдбар произвольную область для виджетов для вашей темы. Регистрировать их можно в любом количестве. Скопируйте и вставьте этот код в файл functions.php вашей темы:
function devise_widgets_init() { register_sidebar( array( 'name' => __( 'Main Sidebar', 'devise' ), 'id' => 'sidebar-1', 'description' => __( 'The main sidebar appears on the right on each page except the front page template', 'devise' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' =>__( 'Front page sidebar', 'devise'), 'id' => 'sidebar-2', 'description' => __( 'Appears on the static front page template', 'devise' ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'devise_widgets_init' );
В этом коде мы зарегистрировали 2 сайдбара. Мы задали им имена и описания для того, чтобы узнать их на странице виджетов. Параметры описания могут использоваться для того, чтобы сообщать пользователям где именно сайдбары появятся в теме. devise — это название темы, над которой мы работаем, и оно используется здесь для того, чтобы сделать строки доступными для перевода в будущем. При необходимости, можете заменить их на название своей темы.
Добавляем динамические сайдбары в файлы темы WordPress
До сих пор мы только лишь зарегистрировали динамические сайдбары. Пользователи могут перетягивать виджеты на эти сайдбары со страницы Внешний вид » Виджеты. Однако, эти сайдбары не появятся на вашем сайте, пока они не будут вызваны из шаблона типа sidebar.php или любого другого, где вы захотите их вывести. Для добавления этих областей для виджетов отредактируйте файл шаблона в том месте, где вам нужно отобразить сайдбар и вставьте туда следующий код:
<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <div id="secondary" class="widget-area" role="complementary"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </div> <?php endif; ?>
В этом коде для примера мы использовали id сайдбара для вызова его в том месте, где он будет отображаться. Можно изменить id сайдбара для того, чтобы показать другой. Например, вы можете зарегистрировать три сайдбара для футера и вызывать их один за другим в шаблоне strong>footer.php темы.
Виджеты — довольно мощная штука. Их можно добавлять в записи и страницы, раскрасить текстовые виджеты в разные цвета и использовать плагин Widget Logic для сотворения действительно уникальных функций. Правильно размещенный сайдбар для виджетов позволяет юзерам добавлять собственные элементы на свои сайты, используя интерфейс перетягивания (drag’n’drop).
Надеемся, что статья помогла вам научиться добавлять динамические сайдбары для виджетов в WordPress. Вопросы и комментарии как обычно — в форму ниже 🙂