get_sidebar

Подключает файл шаблона sidebar.php (сайдбар). Если передан параметр $name, то будет подключен файл sidebar-{name}.php.

Если файл не найден в шаблоне темы, то будет взять файл по умолчанию: wp-includes/theme-compat/sidebar.php

Хуки из функции:
get_sidebar

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

<?php get_sidebar( $name ); ?>
$name(строка)
Индекс названия файла. Будет подключен файл sidebar-{name}.php
По умолчанию: нет

Примеры

#1. Две боковые панели (сайдбара) в одной теме

<?php get_header(); ?>
<?php get_sidebar('left'); ?>
<?php get_sidebar('right'); ?>
<?php get_footer(); ?>

В теме (шаблоне) должны присутствовать файлы sidebar-right.php и sidebar-left.php.

#2. Подключение сайдбара из подпапки темы

Чтобы это сделать нужно написать свой простой аналог этой функции:

// Подключит файл '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();

Код из


wp-includes/general-template.php

WP 4.7.2

<?php
function get_sidebar( $name = null ) {
	/**
	 * Fires before the sidebar template file is loaded.
	 *
	 * The hook allows a specific sidebar template file to be used in place of the
	 * default sidebar template file. If your file is called sidebar-new.php,
	 * you would specify the filename in the hook as get_sidebar( 'new' ).
	 *
	 * @since 2.2.0
	 * @since 2.8.0 $name parameter added.
	 *
	 * @param string|null $name Name of the specific sidebar file to use. null for the default sidebar.
	 */
	do_action( 'get_sidebar', $name );

	$templates = array();
	$name = (string) $name;
	if ( '' !== $name )
		$templates[] = "sidebar-{$name}.php";

	$templates[] = 'sidebar.php';

	locate_template( $templates, true );
}