Функция REGISTER_SIDEBAR() в WordPress: регистрация боковой панели

# Функция 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.

    Leave a Reply

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