# Функция REGISTER_SIDEBAR() в WordPress
Функция register_sidebar() позволяет вам создать и зарегистрировать боковую панель (сайдбар) для вашего сайта на платформе WordPress. Данная функция возвращает уникальный идентификатор для боковой панели.
## Параметры функции
Функция принимает либо строку, либо массив аргументов, который затем обрабатывается с учётом набора стандартных значений. Если вы не укажете некоторые из аргументов, WordPress автоматически создаст идентификатор и ��азвание боковой панели на основе текущего количества зарегистрированных сайдбаров.
> **Важно:** Имейте в виду, что номер для вашей боковой панели может измениться со временем в зависимости от установленных плагинов и тем.
Если поддержка виджетов для вашей темы ещё не была добавлена во время вызова этой функции, она будет автоматически включена с помощью функции add_theme_support().
### Возвращаемое значение
Строка. Уникальный идентификатор боковой панели, добавленный в глобальный массив $wp_registered_sidebars.
## Использование функции
Для регистрации боковой панели вы можете использовать следующий синтаксис:
```php
register_sidebar( $args );
Аргументы
- $args (array|string): Массив или строка аргументов для регистрируемой боковой панели.
- По умолчанию:
array()
Вот основные параметры, которые вы можете указать:
-
name (string): Название боковой панели, отображаемое в интерфейсе Виджетов.
- По умолчанию:
'Sidebar $instance'
- По умолчанию:
-
id (string): Уникальный идентификатор, по которому будет вызываться боковая панель.
- По умолчанию:
'sidebar-$instance'
- По умолчанию:
-
description (string): Описание боковой панели, отображаемое в интерфейсе Виджетов.
- По умолчанию: пустая строка
-
class (string): Дополнительный CSS класс для боковой панели в интерфейсе Виджетов.
- По умолчанию:
''
- По умолчанию:
-
before_widget (string): HTML-код, который будет добавлен перед выводом каждого виджета в этой боковой панели. Использует
%1$sдля ID виджета и%2$sдля имени класса.- По умолчанию: открывающий элемент списка
<li>
- По умолчанию: открывающий элемент списка
-
after_widget (string): HTML-код, который будет добавлен после вывода каждого виджета в этой боковой панели.
- По умолчанию: закрывающий элемент списка
</li>
- По умолчанию: закрывающий элемент списка
-
before_title (string): HTML-код, добавляемый перед заголовком боковой панели при отображении.
- По умолчанию: открывающий элемент
<h2>
- По умолчанию: открывающий элемент
-
after_title (string): HTML-код, добавляемый после заголовка боковой панели при отображении.
- По умолчанию: закрывающий элемент
</h2>
- По умолчанию: закрывающий элемент
-
before_sidebar (string): HTML-код, добавляемый перед боковой панелью при отображении.
- По умолчанию: пустая строка
-
after_sidebar (string): HTML-код, добавляемый после боковой панели при отображении.
- По умолчанию: пустая строка
-
show_in_rest (true|false): Параметр, указывающий, нужно ли отображать данную боковую панель в REST API.
- По умолчанию: только для пользователей-администраторов
Примеры использования
Пример 1: Регистрация виджетов для боковой панели
Код ниже зарегистрирует панель под названием "Правая боковая панель сайта". Название будет заключено в теги <div class="title"> и </div>:
add_action( 'widgets_init', 'register_my_widgets' );
function register_my_widgets() {
register_sidebar( [
'name' => 'Правая боковая панель сайта',
'id' => 'right-sidebar',
'description' => 'Эти виджеты будут отображаться в правом столбце сайта',
'before_title' => '',
'after_title' => '
'
] );
}
После добавления этого кода в файл functions.php вашей темы, новая боковая панель появится в административной панели на странице виджетов, где вы можете добавлять виджеты. В файл шаблона боковая панель выводится с помощью функции dynamic_sidebar():
Пример 2: Регистрация боковой панели для главной страницы
Добавьте следующий код в файл functions.php:
add_action( 'widgets_init', 'register_my_widgets' );
function register_my_widgets(){
register_sidebar( array(
'name' => 'Боковая панель на главной странице',
'id' => 'homepage-sidebar',
'description' => 'Отображается только на главной странице сайта.',
'before_widget' => '',
'after_widget' => ' ',
'before_title' => '',
'after_title' => '
',
) );
}
В файл home.php вставьте вывод панели:
Пример 3: Добавление нескольких боковых панелей
Существует специальная функция для этого: register_sidebars().
Примечания
- Глобальная переменная:
$wp_registered_sidebars- массив зарегистрированных боковых панелей.
История изменений
- Версия 2.2.0: Функция была введена.
- Версия 5.6.0: Добавлены параметры
before_sidebarиafter_sidebar. - Версия 5.9.0: Добавлен параметр
show_in_rest.