Как добавить свою область виджета для темы WordPress

Область виджета ~ [ wwweb.uz ]

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

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

Меню виджетов - 1 ~ [ wwweb.uz ]

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

Способ 1. Добавляем область виджета в тему Вордпрес через код.

Вам потребуется пройти три (четыре) шага.

Шаг 1. Регистрируем новую область виджета в файле functions.php.

В меню админки «Внешний вид / Редактор тем» в правой колонке «Файлы темы» найдите файл functions.php. В нем найдите функцию register_sidebar и добавьте после нее такую же, только с другим значением «id».

register_sidebar(
		array(
			'name'          => esc_html__( 'Под шапкой', '' ),
			'id'            => 'top-area',
			'description'   => esc_html__( 'Вывод виджетов под шапкой на главной', '' ),
			'before_widget' => '<section id="%1$s" class="widget %2$s">',
			'after_widget'  => '</section>',
			'before_title'  => '<h4 class="widget-title">',
			'after_title'   => '</h4>',
		)
	);

Здесь «name» — это название вашей области,
«id» — это индентификатор области,
«description» — это описание/подсказка для области,
а всё остальное — это обрамляющие теги для блока области виджета.

Шаг 2. Выводим вновь созданную область виджета в шаблоне темы.

К примеру, для добавления своей области в шаблон темы, в шапке (хедере), используется функция dynamic_sidebar:

</header>
	<?php dynamic_sidebar( 'top-area' ); ?>

Как видите, здесь в качестве аргумента функции указывается значение «id» для новой области — «top-area».

Если хотите, чтобы данная область отображалась только для главной страницы, поместите функцию dynamic_sidebar внутри следующей конструкции:

if ( is_front_page() && is_home() ) {
	...
}

Шаг 3. В админке размещаем в эту вновь созданную область какой-либо виджет.

Меню виджетов - 2 ~ [ wwweb.uz ]

(Шаг 4. Смотрим на результат 🙂 )

Способ 2. Добавляем область виджета в тему Вордпрес через плагин.

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

  • Widget Areas
  • Custom Sidebars — Dynamic Widget Area Manager
  • Content Aware Sidebars — Unlimited Widget Areas

Думаю, здесь разберетесь самостоятельно.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *