Функция GET_THEME_SUPPORT() │ WP 3.1.0
Функция get_theme_support()
получает аргументы поддержки темы, которые были переданы при регистрации этой поддержки. Это полезно, если вы хотите проверить, какие возможности добавлены в вашей теме WordPress.
Пример использования
get_theme_support( 'custom-logo' );
get_theme_support( 'custom-header', 'width' );
Время выполнения
- 1 раз — 0.000015 сек (очень быстро)
- 50000 раз — 0.02 сек (практически мгновенно)
Возвращаемое значение
Функция может вернуть разные данные:
- Массив с дополнительными аргументами или значение для зарегистрированной функции.
Использование
get_theme_support( $feature, ...$args );
$feature
(string) (обязательно) — функция, которую нужно проверить. Смотритеadd_theme_support()
для списка возможных значений....$args
(mixed) (опционально) — дополнительные аргументы, которые будут проверены в отношении некоторых функций.
Примеры
Пример 1: Получение аргументов возможности
Получим аргументы поддержки темы для функции 'html5'.
$args = get_theme_support( 'html5' );
print_r( $args );
/* Выводит:
Array
(
[0] => Array
(
[0] => comment-list
[1] => comment-form
[2] => search-form
[3] => gallery
[4] => caption
)
)
*/
Получим аргументы поддержки для функции 'custom-background':
$theme_support = get_theme_support( 'custom-background' );
print_r( $theme_support );
/* Выводит:
Array
(
[0] => Array
(
[default-image] =>
[default-repeat] => repeat
[default-position-x] => left
[default-attachment] => scroll
[default-color] => ffffff
[wp-head-callback] => _custom_background_cb
[admin-head-callback] =>
[admin-preview-callback] =>
)
)
*/
Пример 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] => gallery
[4] => caption
)
)
[widgets] => 1
)
*/
Пример 3: Поддержка миниатюр постов
$supports = get_theme_support('post-thumbnails');
// Теперь могут быть два варианта
// В зависимости от того, как возможность была зарегистрирована
// Если она была зарегистрирована без параметров:
// add_theme_support( 'post-thumbnails' );
// $supports будет истиной
// Если с параметрами
// add_theme_support( 'post-thumbnails', array('post', 'page') );
// $supports будет равен этому массиву
/*
Array
(
[0] => Array
(
[0] => post
[1] => page
)
)
*/
Заметки
- Это глобальный массив
$_wp_theme_features
, который содержит информацию о поддерживаемых функциях темы.
Изменения
- С версии 3.1.0 — функция была введена.
- С версии 5.3.0 — параметр
...$args
был официально добавлен в сигнатуру функции.
Код функции get_theme_support()
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 ];
}
}
Связанные функции
add_theme_support()
current_theme_supports()
get_header_image()
get_header_textcolor()
has_header_image()
header_image()
remove_theme_support()
Теперь вы знаете, как использовать функцию get_theme_support()
в WordPress для получения информации о поддержке темы. Эта функция полезна для проверки возможностей вашей темы и их настройки.