current_theme_supports()
Проверяет, поддерживает ли тема указанную возможность, зарегистрированную через add_theme_support().
Для возможностей, принимающих аргументы (например, 'html5' или 'custom-logo'), можно передать дополнительные значения, чтобы убедиться, что поддерживаются именно они.
Нужно вызывать после того, как поддержка темы объявлена, обычно после хука after_setup_theme.
Используйте фильтр current_theme_supports-(feature), когда нужно отключить или включить поддержку в опредленных условиях.
Хуки из функции
Возвращает
true|false. true, если тема поддерживает указанную возможность, иначе false.
Использование
if( current_theme_supports( $feature ) ){
// возможность $feature включена...
}
- $feature(строка) (обязательный)
Имя возможности, которую нужно проверить. Список доступных:
- custom-header
- custom-background
- post-thumbnails
- automatic-feed-links
- post-formats
- menus
- editor-style
- widgets
- Полный список смотрите в описании add_theme_support().
- ...$args(mixed)
Дополнительные аргументы для конкретной возможности, которые также нужно проверить.
Когда тема объявляет поддержку опции с подпунктами, она передаёт массив этих подпунктов:
add_theme_support( 'html5', [ 'comment-form', 'comment-list' ] );
Функция ведёт себя так:
-
Без аргументов - достаточно самого факта, что возможность html5 поддерживается:
current_theme_supports( 'html5' ); // true
-
С аргументами - функция проверяет каждый переданный подпункт. Если хотя бы один не поддерживается, вернёт
false.trueполучится только когда все указанные подпункты поддерживаются.current_theme_supports( 'html5', 'comment-form' ); // true current_theme_supports( 'html5', 'search-form' ); // false current_theme_supports( 'html5', 'comment-form', 'search-form' ); // false
По умолчанию: отсутствуют
-
Примеры
#1 Демо
Проверим включена ли возможность:
if( current_theme_supports('custom-header') ){
// Сделаем что-нибудь особенное, если возможность custom-header включена...
}
Проверка конкретного аргумента HTML5-поддержки:
if ( current_theme_supports( 'html5', 'comment-form' ) ) {
// Загружаем стили или выполняем логику, требующую HTML5-разметку формы комментариев
}
Заметки
- Global. Массив.
$_wp_theme_features
Список изменений
| С версии 2.9.0 | Введена. |
| С версии 5.3.0 | Formalized the existing and already documented ...$args parameter by adding it to the function signature. |