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
Де використовується хук у WordPress
wp-includes/default-filters.php 615
add_action( 'after_setup_theme', 'wp_setup_widgets_block_editor', 1);