WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

after_setup_theme хук-событие . WP 3.0

Вызывается каждый раз при загрузке страницы, сразу после того, как тема инициализирована. Обычно используется для того, чтобы установить базовые возможности темы: см. add_theme_support().

Это один из первых хуков, срабатывает прямо перед инициализацией WordPress, перед хуком init.

В отличии от хука init, на момент срабатывания этого хука, wordpress еще не определил авторизован пользователь или нет.

Использование

add_action( 'after_setup_theme', 'action_function_name_11' );
function action_function_name_11() {
	// Действия
}

Примеры

#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' );
}

Список изменений

С версии 3.0.0 Введена.

Где вызывается хук

В файле: /wp-settings.php
after_setup_theme
wp-settings.php 535
do_action( 'after_setup_theme' );

Где используется хук в ядре WordPress

wp-settings.php 565
add_action( 'after_setup_theme', array( $this, 'after_setup_theme' ) );
wp-settings.php 585
add_action( 'after_setup_theme', array( $this, 'establish_loaded_changeset' ), 5 );
wp-settings.php 593
add_action( 'after_setup_theme', array( $this, 'import_theme_starter_content' ), 100 );
26 комментов
Полезные 1 Все
    Войти