Произвольная шапка в теме WordPress.

Не уверен, что я дал правильное название этому функционалу, но зато точное, ведь вся его суть заключается в том, что вы можете менять параметры шапки вашего сайта через админку.

Какие именно параметры? Изображение шапки, цвет текста, а также её ширина и высота. Я считаю, что на своем сайте делать такое смысла нет — гораздо проще зайти в код и поменять там то, что нужно. Однако для клиентов такой функционал может оказаться полезным.

Сама эта возможность WordPress появилась в версии 2.1, я не стану рассматривать, как это работало в старых версиях, а лучше расскажу, как это используется сейчас.

Вот как это выглядит на примере стандартной темы TwentyTwelve (Внешний вид > Заголовок):

Произвольная шапка (заголовок) в теме WordPress

Шаг 1. Функция add_theme_support() — подключаем необходимый функционал в теме WordPress

Начиная с версии WordPress 3.4 мы можем использовать функцию add_theme_support() в файле functions.php для задействования данной возможности движка.

add_theme_support( 'custom-header' );

Если же вам понадобится обратиться к этой функции из другого файла темы или из файлов плагина, тогда используйте хук after_setup_theme следующим образом:

function true_custom_header_support(){
    add_theme_support( 'custom-header' );
}
 
add_action('after_setup_theme', 'true_custom_header_support');

На самом деле в качестве второго аргумента функции мы можем также передать массив параметров шапки сайта, которые будут задействованы как параметры по умолчанию.

Вот эти параметры:

$defaults = array(
    'default-image'          => '', // фон шапки по умолчанию
    'random-default'         => false, // нужно ли выводить изображения в случайном порядке
    'width'                  => 0, // ширина шапки
    'height'                 => 0, // высота шапки
    'flex-height'            => false, // резиновая высота true / false
    'flex-width'             => false, // резиновая ширина true / false
    'default-text-color'     => '', // цвет текста по умолчанию
    'header-text'            => true, // можно ли выводить текст в шапке
    'uploads'                => true, // возможность пользователю загружать свои изображения
    'wp-head-callback'       => '',
    'admin-head-callback'    => '',
    'admin-preview-callback' => '',
);
add_theme_support( 'custom-header', $defaults );

Шаг 2. Выводим шапку и ее параметры

Используйте функцию header_image() для вывода URL изображения шапки, а функцию get_custom_header() — для получения параметров шапки, например:

<img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt="" />

Также есть функция get_header_textcolor(), которая возвращает установленный цвет.

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: