# Функция GET_SIDEBAR() в WordPress
Функция get_sidebar() загружает файл шаблона sidebar.php из директории текущей темы. Если указано имя (например, $name), будет загружен файл sidebar-{name}.php.
Если в теме нет файла sidebar.php, будет загружен стандартный сайдбар из темы по умолчанию: wp-includes/theme-compat/sidebar.php.
## Как работает функция
Функция использует: locate_template().
### Хуки функции
- get_sidebar
## Возвращаемые значения
- null | false: функция не возвращает значение при успешном выполнении, и возвращает false, если указанный шаблон не существует.
## Использование функции
```php
get_sidebar( $name, $args );
Параметры
$name(string): Имя специализированного сайдбара. По умолчанию:null.$args(array): Дополнительные параметры, передаваемые шаблону сайдбара. По умолчанию: пустой массив.
Примеры использования
Пример 1: Простое использование
Предположим, у вас есть файл wp-content/themes/yourTheme/sidebar-nice.php. Включить этот сайдбар можно следующим образом:
Пример 2: Два сайдбара в одной теме
Вы можете включить два сайдбара в одном шаблоне:
Файлы шаблона должны содержать sidebar-right.php и sidebar-left.php.
Пример 3: Подключение сайдбара из подкаталога темы
Для этого нужно создать свой простой аналог функции:
// Включаем файл 'inc/sidebar.php' из папки текущей темы.
// Поместите в functions.php
function theme_sidebar( $name = '' ) {
do_action( 'get_sidebar', $name );
if( $name ) {
$name = "-$name";
}
locate_template( "inc/sidebar$name.php", true );
}
// вызываем вместо get_sidebar()
theme_sidebar();
Пример 4: Несколько сайдбаров
Разные сайдбары для разных страниц:
Имена файлов для главной страницы и страницы 404 должны быть sidebar-home.php и sidebar-404.php соответственно.
Пример 5: Условное выражение
Включите файл сайдбара только если в него добавл��ны виджеты:
// проверяем, есть ли виджеты в сайдбаре
if ( is_active_sidebar( 'content-bottom' ) ) {
get_sidebar( 'content-bottom' );
}
Пример 6: Вызов сайдбара с параметром $args (с версии 5.5.0)
Теперь можно вызывать сайдбар с параметрами:
'Сайдбар магазина'
);
get_sidebar( 'shop', $args );
?>
Код внутри файла sidebar-shop.php может выглядеть так:
Изменения в версии
- С 1.5.0 — введена функция.
- С 5.5.0 — добавлено возвращаемое значение.
- С 5.5.0 — добавлен параметр
$args.
Код функции GET_SIDEBAR()
Ниже приведён код функции:
function get_sidebar( $name = null, $args = array() ) {
/**
* Срабатывает перед загрузкой файла шаблона сайдбара.
*/
do_action( 'get_sidebar', $name, $args );
$templates = array();
$name = (string) $name;
if ( '' !== $name ) {
$templates[] = "sidebar-{$name}.php";
}
$templates[] = 'sidebar.php';
if ( ! locate_template( $templates, true, true, $args ) ) {
return false;
}
}
Связанные функции
comments_template()get_footer()get_header()get_template_part()is_active_sidebar()- и многие другие.
Эти функции помогают вам работать с темами и сайдбарами в WordPress.