get_sidebar() WP 1.5.0

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

Якщо файл не знайдено у шаблоні теми, то буде взяти файл за замовчуванням:wp-includes/theme-compat/sidebar.php

Працює на основі:
locate_template()

Хуки з функції

Повертає

null|false. null при вдалому підключенні файлу, false якщо файл шаблону не існує.

Використання

<?php get_sidebar( $name, $args ); ?>
$name
(рядок)
Індекс назви файлу. Буде підключений файл
sidebar-{name}.php


Типово: null
$args
(масив) (З WP 5.5)
Додаткові параметри для файлу, що підключається. Використовуйте змінну
$args у файлі, що підключається.


За замовчуванням: array()

Приклади

1

#1 Дві бічні панелі (сайдбара) в одній темі

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

У темі (шаблоні) повинні бути файли sidebar-right.php і sidebar-left.php .

0

#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();

список змін

З версії 1.5.0Введено.
З версії 5.5.0A return value був added.
З версії 5.5.0The $args parameter був added.

Код get_sidebar() WP 6.0.2

function get_sidebar( $name = null, $args = array() ) {
	/**
	 * Fires до sidebar template file is loaded.
	 *
	 * @ Since 2.2.0
	 * @since 2.8.0 The `$name` parameter was added.
	 * @since 5.5.0 The `$args` parameter was added.
	 *
	 * @param string|null $name Name of specific sidebar file to use. Null for default sidebar.
	 * @param array $args Additional arguments passed to sidebar template.
	 */
	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;
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *