register_sidebar()

Создает определение для одного бокового блока и возвращает его идентификатор
Функция WordPress
INT 2.2.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Создание боковой панели
  4. Настройка названия боковой панели
  5. Установка уникального идентификатора боковой панели
  6. Добавление описания боковой панели
  7. Присвоение дополнительного CSS класса боковой панели
  8. Вопросы и ответы
  9. Как создать новую боковую панель (sidebar) в WordPress?
  10. Как изменить название боковой панели (sidebar) в WordPress?
  11. Как добавить описание к боковой панели (sidebar) в WordPress?
  12. Как задать уникальный идентификатор (ID) для боковой панели (sidebar) в WordPress?
  13. Как добавить дополнительный CSS класс к боковой панели (sidebar) в WordPress?
  14. Как изменить HTML-код, который добавляется перед каждым виджетом в боковую панель (sidebar) в WordPress?
  15. Как изменить HTML-код, который добавляется после каждого виджета в боковой панель (sidebar) в WordPress?
  16. Как изменить HTML-код, который добавляется перед заголовком боковой панели (sidebar) в WordPress?
  17. Как изменить HTML-код, который добавляется после заголовка боковой панели (sidebar) в WordPress?
  18. Связанные элементы

Описание функции

Функция register_sidebar() используется для создания и регистрации боковой панели (sidebar) в WordPress. Она строит определение для одной боковой панели и возвращает ее идентификатор. Боковые панели являются виджетами, которые можно добавлять и настраивать в административной панели WordPress.

Использование

register_sidebar( array|string $args = array() ): string

Функция register_sidebar() принимает один параметр — массив или строку аргументов для регистрируемой боковой панели. Возвращает идентификатор боковой панели в виде строки.

  • $args (массив или строка, опционально): Массив или строка аргументов для регистрируемой боковой панели.
    • name (строка): Название или заголовок боковой панели, отображаемый в интерфейсе виджетов. По умолчанию: ‘Sidebar $instance’.
    • id (строка): Уникальный идентификатор, по которому будет вызываться боковая панель. По умолчанию: ‘sidebar-$instance’.
    • description (строка): Описание боковой панели, отображаемое в интерфейсе виджетов. По умолчанию: пустая строка.
    • class (строка): Дополнительный CSS класс для присвоения боковой панели в интерфейсе виджетов.
    • before_widget (строка): HTML содержимое, добавляемое перед выводом HTML каждого виджета, назначенного этой боковой панели. Принимает атрибуты ID виджета как %1$s и имя класса как %2$s. По умолчанию: открывающий элемент списка.
    • after_widget (строка): HTML содержимое, добавляемое после вывода HTML каждого виджета, назначенного этой боковой панели. По умолчанию: закрывающий элемент списка.
    • before_title (строка): HTML содержимое, добавляемое перед заголовком боковой панели при его отображении. По умолчанию: открывающий элемент h2.
    • after_title (строка): HTML содержимое, добавляемое после заголовка боковой панели при его отображении. По умолчанию: закрывающий элемент h2.
    • before_sidebar (строка): HTML содержимое, добавляемое перед боковой панелью при ее отображении. Принимает аргументы $id и $class. Выводится после действия ‘dynamic_sidebar_before’. По умолчанию: пустая строка.
    • after_sidebar (строка): HTML содержимое, добавляемое после боковой панели при ее отображении. Выводится перед действием ‘dynamic_sidebar_after’. По умолчанию: пустая строка.
    • show_in_rest (логическое значение): Определяет, должна ли эта боковая панель отображаться публично в REST API. По умолчанию: false.

Функция register_sidebar() возвращает идентификатор боковой панели в виде строки. Этот идентификатор добавляется в глобальную переменную $wp_registered_sidebars.

<?php
$args = array(
    'name'          => 'Main Sidebar',
    'id'            => 'main-sidebar',
    'description'   => 'Main sidebar for the website',
    'class'         => 'custom-sidebar',
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget'  => '</li>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
    'before_sidebar' => '<div id="%1$s" class="%2$s">',
    'after_sidebar'  => '</div>',
    'show_in_rest'  => true
);
$sidebar_id = register_sidebar( $args );
?>

В этом примере мы создаем боковую панель с названием «Main Sidebar» и идентификатором «main-sidebar». Описание боковой панели установлено как «Main sidebar for the website». Боковая панель будет иметь дополнительный CSS класс «custom-sidebar». HTML содержимое перед каждым виджетом будет содержать элемент списка с атрибутами ID виджета и классом виджета. Заголовок боковой панели будет обернут в элемент h2 с классом «widget-title». HTML содержимое перед боковой панелью будет содержать элемент div с аргументами ID и классом боковой панели. Боковая панель будет отображаться публично в REST API.

Примеры использования

Создание боковой панели


register_sidebar();

Этот пример кода демонстрирует создание боковой панели без указания каких-либо дополнительных параметров. Функция register_sidebar() создает определение для одной боковой панели и возвращает ее идентификатор.

Настройка названия боковой панели


$args = array(
    'name' => 'My Sidebar'
);
register_sidebar($args);

В этом примере кода мы создаем боковую панель с названием «My Sidebar». Параметр name в массиве $args указывает название или заголовок боковой панели, который будет отображаться в интерфейсе виджетов.

Установка уникального идентификатора боковой панели


$args = array(
    'id' => 'my-sidebar'
);
register_sidebar($args);

В этом примере кода мы создаем боковую панель с уникальным идентификатором «my-sidebar». Параметр id в массиве $args определяет уникальный идентификатор, по которому можно обращаться к этой боковой панели.

Добавление описания боковой панели


$args = array(
    'description' => 'This is my sidebar'
);
register_sidebar($args);

В этом примере кода мы создаем боковую панель с описанием «This is my sidebar». Параметр description в массиве $args позволяет добавить описание боковой панели, которое будет отображаться в интерфейсе виджетов.

Присвоение дополнительного CSS класса боковой панели


$args = array(
    'class' => 'my-sidebar-class'
);
register_sidebar($args);

В этом примере кода мы создаем боковую панель и присваиваем ей дополнительный CSS класс «my-sidebar-class». Параметр class в массиве $args позволяет добавить дополнительный CSS класс к боковой панели в интерфейсе виджетов.

Вопросы и ответы

Как создать новую боковую панель (sidebar) в WordPress?

Для создания новой боковой панели (sidebar) в WordPress используется функция register_sidebar(). Она позволяет определить параметры боковой панели и возвращает ее уникальный идентификатор.

Пример кода:


$args = array(
    'name'          => 'My Sidebar',
    'id'            => 'my-sidebar',
    'description'   => 'This is my custom sidebar.',
    'class'         => 'my-sidebar-class',
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget'  => '</li>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
);
register_sidebar( $args );

Как изменить название боковой панели (sidebar) в WordPress?

Название боковой панели (sidebar) в WordPress можно изменить, указав параметр name при вызове функции register_sidebar().

Пример кода:


$args = array(
    'name' => 'My New Sidebar',
);
register_sidebar( $args );

Как добавить описание к боковой панели (sidebar) в WordPress?

Описание боковой панели (sidebar) в WordPress можно добавить, указав параметр description при вызове функции register_sidebar().

Пример кода:


$args = array(
    'description' => 'This is my custom sidebar.',
);
register_sidebar( $args );

Как задать уникальный идентификатор (ID) для боковой панели (sidebar) в WordPress?

Для задания уникального идентификатора (ID) для боковой панели (sidebar) в WordPress используется параметр id функции register_sidebar(). По умолчанию, если параметр id не указан, то идентификатор будет иметь вид «sidebar-$instance», где $instance — порядковый номер боковой панели. Вы можете задать свой уникальный идентификатор, передав его в качестве значения параметра id.

Пример кода:


$args = array(
    'id' => 'my-sidebar', // задаем уникальный идентификатор
    'name' => 'My Sidebar', // название боковой панели
);
register_sidebar( $args );

Как добавить дополнительный CSS класс к боковой панели (sidebar) в WordPress?

Для добавления дополнительного CSS класса к боковой панели (sidebar) в WordPress используется параметр class функции register_sidebar(). По умолчанию, если параметр class не указан, то класс не будет добавлен. Вы можете задать свой дополнительный CSS класс, передав его в качестве значения параметра class.

Пример кода:


$args = array(
    'id' => 'my-sidebar', // уникальный идентификатор
    'name' => 'My Sidebar', // название боковой панели
    'class' => 'my-sidebar-class', // добавляем дополнительный CSS класс
);
register_sidebar( $args );

Как изменить HTML-код, который добавляется перед каждым виджетом в боковую панель (sidebar) в WordPress?

Для изменения HTML-кода, который добавляется перед каждым виджетом в боковую панель (sidebar) в WordPress, используется параметр before_widget функции register_sidebar(). По умолчанию, если параметр before_widget не указан, то будет добавлен HTML-код элемента списка. Вы можете задать свой HTML-код, передав его в качестве значения параметра before_widget. В HTML-коде вы можете использовать специальные метки %1$s и %2$s, которые будут заменены на атрибут ID виджета и CSS класс соответственно.

Пример кода:


$args = array(
    'id' => 'my-sidebar', // уникальный идентификатор
    'name' => 'My Sidebar', // название боковой панели
    'before_widget' => '<div id="%1$s" class="widget %2$s">', // изменяем HTML-код
);
register_sidebar( $args );

Как изменить HTML-код, который добавляется после каждого виджета в боковой панель (sidebar) в WordPress?

Для изменения HTML-кода, который добавляется после каждого виджета в боковой панели (sidebar) в WordPress, можно использовать параметр after_widget при регистрации боковой панели с помощью функции register_sidebar().


register_sidebar( array(
    'name'          => 'Main Sidebar',
    'id'            => 'main-sidebar',
    'after_widget'  => '<div class="widget-after"></div>',
) );

Как изменить HTML-код, который добавляется перед заголовком боковой панели (sidebar) в WordPress?

Для изменения HTML-кода, который добавляется перед заголовком боковой панели (sidebar) в WordPress, можно использовать параметр before_title при регистрации боковой панели с помощью функции register_sidebar().


register_sidebar( array(
    'name'          => 'Main Sidebar',
    'id'            => 'main-sidebar',
    'before_title'  => '<h3 class="widget-title">',
) );

Как изменить HTML-код, который добавляется после заголовка боковой панели (sidebar) в WordPress?

Для изменения HTML-кода, который добавляется после заголовка боковой панели (sidebar) в WordPress, можно использовать параметр after_title при регистрации боковой панели с помощью функции register_sidebar().


register_sidebar( array(
    'name'          => 'Main Sidebar',
    'id'            => 'main-sidebar',
    'after_title'   => '</h3><div class="widget-after-title"></div>',
) );

Функция register_sidebar() в WordPress используется для создания определения для одной боковой панели и возвращает ее идентификатор. Она принимает массив или строку аргументов и возвращает строку — идентификатор боковой панели, добавленный в глобальную переменную $wp_registered_sidebars.
При использовании функции register_sidebar() можно изменить HTML-код, который добавляется после каждого виджета, перед заголовком и после заголовка боковой панели, используя соответствующие параметры after_widget, before_title и after_title.

Связанные элементы

  • Функция dynamic_sidebar(): выводит виджеты, зарегистрированные для указанной боковой панели.
  • Функция is_active_sidebar(): проверяет, есть ли активные виджеты в указанной боковой панели.
  • Хук widgets_init: вызывается при инициализации виджетов и позволяет зарегистрировать новые боковые панели.
  • Хук dynamic_sidebar_before: вызывается перед выводом боковой панели и позволяет добавить дополнительный контент перед ней.
  • Хук dynamic_sidebar_after: вызывается после вывода боковой панели и позволяет добавить дополнительный контент после нее.
  • Класс WP_Widget: базовый класс для создания собственных виджетов.
  • Класс WP_Widget_Factory: фабрика для создания экземпляров виджетов.
Обсуждение