after_setup_theme
Это хук WordPress - after_setup_theme. Плагин его просто использует.
Вызывается каждый раз при загрузке страницы, сразу после того, как тема инициализирована. Обычно используется для того, чтобы установить базовые возможности темы: см. add_theme_support().
Это один из первых хуков, срабатывает прямо перед инициализацией WordPress, перед хуком init.
В отличии от хука init, на момент срабатывания этого хука, wordpress еще не определил авторизован пользователь или нет.
Использование
add_action( 'after_setup_theme', 'wp_kama_after_setup_theme_action' );
/**
* Function for `after_setup_theme` action-hook.
*
* @return void
*/
function wp_kama_after_setup_theme_action(){
// action...
}
Примеры
#1 Пример использования after_setup_theme из базовой темы Twenty Twelve
Этот пример показывает как использовать хук after_setup_theme, чтобы зарегистрировать (добавить) новые возможности для темы, такие как: поддержка миниатюр, форматов постов, картинки для шапки и т.д.
/** Укажем WordPress запустить функцию twentytwelve_setup() в момент действия хука 'after_setup_theme' */
add_action( 'after_setup_theme', 'twentytwelve_setup' );
// Установим параметры темы по умолчанию
// и добавим поддержку дополнительных возможностей WordPress
function twentytwelve_setup() {
// Возможность указывать файл стилей для визуального редактора. Поместите editor-style.css в папку темы.
add_editor_style();
// Поддержка форматов постов.
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
// Поддержка миниатюр записи
add_theme_support( 'post-thumbnails' );
// Добавим ссылки на RSS постов и комметариев в head часть
add_theme_support( 'automatic-feed-links' );
// Сделаем тему доступной для перевода
// Файлы перевода должны находиться в каталоге /languages/
load_theme_textdomain( 'twentytwelve', get_template_directory() . '/languages' );
$locale = get_locale();
$locale_file = get_template_directory() . "/languages/$locale.php";
if ( is_readable( $locale_file ) )
require_once( $locale_file );
// Поддержка навигационного меню wp_nav_menu()
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'twentytwelve' ),
'Secondary' => __( 'Secondary Navigation', 'twentytwelve' ),
) );
// Поддержка установки произвольного заднего фона
add_custom_background();
// Устанавливаем и изменяем параметры в HEADER части темы
if ( ! defined( 'HEADER_TEXTCOLOR' ) )
define( 'HEADER_TEXTCOLOR', '' );
// Указываем картинку для шапки, указывается только ссылка на картинку. %s - будет заменено на УРЛ - путь до каталога темы.
if ( ! defined( 'HEADER_IMAGE' ) )
define( 'HEADER_IMAGE', '%s/images/headers/path.jpg' );
// Высота и ширина произвольного заголовка. Чтобы изменить эти значения, можно использовать хуки темы: twentytwelve_header_image_width и twentytwelve_header_image_height.
define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentytwelve_header_image_width', 940 ) );
define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentytwelve_header_image_height', 198 ) );
// Будем использовать миниатюру поста для картинки в шапке для страниц и записей.
// Нужные нам размеры: ширина 940 пикселей и высота 198.
// Большие картинки будут уменьшены автоматически,
// а маленькие останутся без изменения.
set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );
// Нам не нужен текст внутри картинки в шапке.
if ( ! defined( 'NO_HEADER_TEXT' ) )
define( 'NO_HEADER_TEXT', true );
// Добавим возможность изменять стили картинки в шапке из админ-панели
// add_custom_image_header( '', 'twentytwelve_admin_header_style' );
}
Где вызывается хук
В файле: /php/wp-settings-cli.php
after_setup_theme
wp-cli/php/wp-settings-cli.php 430
do_action( 'after_setup_theme' );