Функция GET_SIDEBAR() в WordPress: использование и примеры

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

Leave a Reply

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