get_theme_support() WP 3.1.0

Отримує аргументи зазначеної можливості (фітчі), які були передані під час реєстрації цієї можливості для теми (шаблону).

Можливість теми реєструється функцією add_theme_support() і іноді під час реєстрації передаються параметри. get_theme_support() отримує передані аргументи.

Усі можливості зберігаються у глобальній змінній $_wp_theme_features.

1 раз – 0.000015 сек
(дуже швидко) | 50000 разів – 0.02 сек
(швидкість світла)

Хуків немає.

Повертає

Разное. Масив/рядок/число/об’єкт. Масив аргументів чи значення зареєстрованої можливості.

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

get_theme_support($feature);
$feature
(рядок) (обов’язковий)
Можливість (фітчу) аргументи якої потрібно отримати.

Приклади

0

#1 Отримаємо аргументи можливості теми ‘html5’

$args = get_theme_support( 'html5' );

print_r ($ args);
/* виведе:
Array
(
	[0] => Array
		(
			[0] => comment-list
			[1] => comment-form
			[2] => search-form
			[3] => галерея
			[4] => caption
		)

)
*/
0

#2 Як виглядає змінна $_wp_theme_features :

global $_wp_theme_features;

print_r($_wp_theme_features);
/* виведе:
Array
(
	[menus] => 1
	[post-thumbnails] => 1
	[html5] => Array
		(
			[0] => Array
				(
					[0] => comment-list
					[1] => comment-form
					[2] => search-form
					[3] => галерея
					[4] => caption
				)

		)

	[widgets] => 1
)
*/
0

#3 Можливістьpost-thumbnails

$supports = get_theme_support('post-thumbnails');

// Тепер supports може бути двох варіантів.
// Залежить від того, як реєструвалася можливість

// якщо регалася без параметрів:
// add_theme_support( 'post-thumbnails');
// $supports дорівнюватиме true

// якщо з параметрами:
// add_theme_support( 'post-thumbnails', array('post', 'page') );
// $supports дорівнює такому масиву
/*
Array
(
	[0] => Array
		(
			[0] => post
			[1] => page
		)

)
*/

нотатки

  • Global. Масив. $_wp_theme_features

список змін

З версії 3.1.0Введено.
З версії 5.3.0Formalizated existing and already documented …$args parameter by adding it до функції signature.

Код get_theme_support() WP 6.0.2

function get_theme_support( $feature, ...$args ) {
	global $_wp_theme_features;

	if ( ! isset ( $_wp_theme_features [ $ feature ] ) ) {
		return false;
	}

	if ( ! $args ) {
		return $_wp_theme_features[$feature];
	}

	switch ($feature) {
		case 'custom-logo':
		case 'custom-header':
		case 'custom-background':
			if ( isset( $_wp_theme_features[ $feature ][0][ $args[0] ] ) ) {
				return $_wp_theme_features[ $feature ][0][ $args[0] ];
			}
			return false;

		default:
			return $_wp_theme_features[$feature];
	}
}

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

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