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');
}
список змін
| З версії 3.0.0 | Введено. |
Де викликається хук
У файлі:
/wp-settings.php
/wp-settings.php
after_setup_theme