Home News

WordPress Customizer — подробный обзор API

06.10.2017

видео WordPress Customizer — подробный обзор API

WordPress Customizer API. Делаем вкладку Реклама. Уроки по WordPress Codex #3

Все больше премиум-тем для WordPress используют Customizer API для разных вещей. От изменения цветов всех видов блоков, до применения различных шрифтов и кастомного CSS. Что же такое Customizer API и нужно ли его использовать в каждом удобном случае? Попробуем разобраться.


WordPress Customizer API — обзор с примерами

#

Немного истории

Начиная с версии 3.4 в WordPress был включен Customizer, ссылка на него появилась в меню «Внешний вид» и в админ-баре (сверху). Стандартными настройками были: заголовки сайта, варианты главной страницы и возможность включить изменение фона (custom background) и изображения заголовка (custom header).


Справочник WordPress API

То есть это те настройки, которые визуально было интересно посмотреть и которые достаточно далеко находилось в самой админке.

После этого туда добавили много всякого и сейчас мы имеем там настройки навигационных меню, виджетов. Со следующими релизами хотят добавить возможность менять темы. Поскольку WordPress Customizer — это backbone-приложение, работающее с WP REST API, его возможности почти безграничны.

Попробуем разобраться как же присоединиться к этом празднику жизни.

#

Экшены customize_register и customize_preview_init

Все действия, которые мы будем производить, вешаются на два экшена (action hook): customize_register и customize_preview_init. Сначала поговорим про первый, потому что с ним происходит вся основная магия.

customize_register

На этот экшен мы вешаем тот самый callback, который будет вносить изменения в глобальную переменную $wp_customize. Это PHP объект, который является экземпляром класса WP_Customize_Manager, у которого есть много любопытных методов по добавлению и изменению всякого:

WP_Customize_Manager->add_setting() (добавить новую настройку) и WP_Customize_Manager->get_setting() (изменить аргументы уже существующей настройки). WP_Customize_Manager->add_control() (добавить новый HTML-элемент) и WP_Customize_Manager->get_control() (изменить аргументы уже существующего контрола). Каждый контрол должен быть привязан к конкретной настройке. WP_Customize_Manager->add_section() (добавить новую секцию, объединяющую несколько контролов) и WP_Customize_Manager->get_section() (изменить аргументы уже существующей секции). WP_Customize_Manager->add_panel() (добавить новую «панель», объединяющую несколько секций) и WP_Customize_Manager->get_panel() (изменить настройки уже существующей).

Давайте разберем аргументы каждого метода. Ниже приведены варианты дефолтных значений.

rss