WordPress Theme Customizer. Компоненты

В предыдущей статье мы немного познакомились с Theme Customizer, а теперь пришло время рассмотреть все его компоненты более подробно.

Продолжить чтение «WordPress Theme Customizer. Компоненты»

WordPress Theme Customizer. Обзор

Начиная с версии 3.4 команда WordPress значительно улучшила Themes Customizer. Theme Customizer позволяет Вам конфигурировать Вашу тему и мнговенно видеть результат в окне предпросмотра. Когда Вы сделали все необходимые изменения достаточно нажать кнопку Save, чтоб все изменения применились. Это позволит сэкономить ваше время и затраченые усилия на тестирование!

Theme Customizer имеет множество преимуществ, вот несколько из них:

  • Позволяет экономит много времени на поддержку сайта
  • Сокращает риски при модификации дизайна вашего сайта. Все изменения применяются только после нажатия на кнопку «Save», до этого все изменения видите только Вы!
  • Возможность тестирования, предпросмотра и конфигурации всех установленных тем без непосредственной их активации

Основы

Themes Customizer состоит из четырех компонентов:

  • настройки — управляет опциями, сохранением и обновлением данных, а также определяет где эти данные будут храниться
  • секции — позволяют групировать все настройик в отдельные группы
  • управление — объеденяет секции и настройки в одно целое.
  • менеджер — управляет всеми действиями (регисрация, удаление) компонентов

Эти компоненты обрабатываются четырьмя PHP классами: WP_Customize_SettingWP_Customize_Section,WP_Customize_Control и WP_Customize_Manager.

digging-into-theme-customizer-part-1-overview-2

Давайте рассмотрим стандартный пример создания собственной секции с настройками:

function your_php_code( $wp_customize ) {
$wp_customize->add_section( 'title_tagline', array(
'title' => __( 'Site Title & Tagline' ),
'priority' => 20,
) );

$wp_customize->add_setting( 'blogname', array(
'default' => get_option( 'blogname' ),
'type' => 'option',
'capability' => 'manage_options',
) );

$wp_customize->add_control( 'blogname', array(
'label' => __( 'Site Title' ),
'section' => 'title_tagline',
) );
}
add_action( 'customize_register', 'your_php_code' );

Как Вы можете увидеть по коду мы создаем секцию c идентификатором title_tagline, после чего создаем опцию (settings) с идентификатором blogname, а также управвляющий элемент который ассоциируется с опцией blogname и секцией title_tagline.

В следующей статье будет больше практики)