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

Опубликовано: 01.09.2018

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

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

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

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

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

Вызов в файле

do_action( 'after_setup_theme' );

Примеры

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

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

В файле: /wp-settings.php

... $GLOBALS['wp_locale_switcher']->init(); // Load the functions for the active theme, for both parent and child theme if applicable. if ( ! wp_installing() || 'wp-activate.php' === $pagenow ) { if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) include( STYLESHEETPATH . '/functions.php' ); if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) include( TEMPLATEPATH . '/functions.php' ); } /** * Fires after the theme is loaded. * * @since 3.0.0 */ do_action( 'after_setup_theme' ); // Set up current user. $GLOBALS['wp']->init(); /** * Fires after WordPress has finished loading but before any headers are sent. * * Most of WP is loaded at this stage, and the user is authenticated. WP continues * to load on the {@see 'init'} hook that follows (e.g. widgets), and many plugins instantiate * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.). * * If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below. * * @since 1.5.0 */ ...
rss