SlideShare a Scribd company logo
1 of 10
Download to read offline
Customizer: зачем он нужен и что с ним
делать?
Дмитрий Романенко
deco.agency
текущая ситуация с
конфигураторами тем
Хаос, каждый
пишет и
делает как
ему
вздумается
На рассмотрение
- полезность, удобство, быстрый старт и
легкость использования
- ООП и создание собственных елементов,
наследование существующих
- механизм визуального конструктора чего-
либо с коробки
полезность, удобство, быстрый старт и
легкость использования
Все просто, только докрути педали и поехали Удобство в написании из готового
до превращения в желаемое
https://codex.wordpress.org/Theme_Customization_API
Копипаст js и кода php, кастомайзер готов к воплощению ваших желаний
Доступ к сохраненной опции из темы
Создаем елемент управления
$wp_customize->add_control(
'copyright_textbox',
array(
'label' => 'Copyright text',
'section' => 'example_section_one',
'type' => 'text',
)
);
Вывод в нашей теме
echo get_theme_mod( 'copyright_textbox',
'Значение по умолчания' );
ООП и создание собственных элементов,
наследование существующих
Не стандартные элементы используют ООП для
реализации функционала
$wp_customize->add_control(
new WP_Customize_Upload_Control(
$wp_customize,
'file-upload',
array(
'label' => 'Загрузка файлов',
'section' => 'example_section_one',
'settings' => 'file-upload'
)
)
);
/**
* Добавляет поддержку текстовой области в настройщик тем
*/
class Example_Customize_Textarea_Control extends
WP_Customize_Control {
public $type = 'textarea';
public function render_content() {
?>
<label>
<span class="customize-control-title">
<?php echo esc_html( $this->label ); ?></span>
<textarea rows="5" style="width:100%;"
<?php $this->link(); ?>>
<?php echo esc_textarea( $this->value() ); ?>
</textarea></label>
<?php
}
}
wp-includesclass-wp-customize-control.php
- базовые классы элементов
управления в кастомайзере
WP_Customize_Control - базовый
класс для всех елементов:
WP_Customize_Color_Control
WP_Customize_Media_Control
WP_Customize_Upload_Control
WP_Customize_Image_Control
WP_Customize_Background_Image_Control
WP_Customize_Header_Image_Control
WP_Customize_Theme_Control
WP_Widget_Area_Customize_Control
WP_Widget_Form_Customize_Control
WP_Customize_Media_Control - базовый класс для
элементов загрузки файлов.
Пример
class WP_Customize_Upload_Control extends
WP_Customize_Media_Control { ... } - загрузка файлов
без учета расширения
class WP_Customize_Image_Control extends
WP_Customize_Upload_Control - загрузка изображений
и каждый класс использует предыдущий,
также Вы можете самостоятельно
унаследоваться и доработать свой мега
класс элемента
механизм визуального конструктора чего-
либо с коробки
На примере расмотрим интересный плагин Edit WordPress Email Templates in the Customizer
Использовано
- полностью использует Customizer
- обычный и респонсив варианты
- тестовая отправка мейла
- возможность поменять мейл и прочее
- использованы базовые элементы управления Customizer
- live обновление визульного представления
Не доработано
- выбор привязки к какому типу отправляемых email
- редактирование контента в режиме редактора
Спасибо за внимание
https://github.com/bueltge/Wordpress-Theme-Customizer-Custom-
Controls - классы кастомных елементов управления
http://onwp.ru/uroki/theme-customizer-wordpress-ischerpyvayushhee-
rukovodstvo-razrabotchika.html - понятное мини руководство
http://wptavern.com/edit-wordpress-email-templates-in-the-customizer -
Edit WordPress Email Templates in the Customizer
Полезные ссылки
WordPress developer deco.agency
Дмитрий Романенко
dim.romanenko@gmail.com

More Related Content

Viewers also liked (7)

Bail
Bail Bail
Bail
 
Tugasan 9 Isu Isu Alam Sekitar (A156779)
Tugasan 9 Isu Isu Alam Sekitar (A156779)Tugasan 9 Isu Isu Alam Sekitar (A156779)
Tugasan 9 Isu Isu Alam Sekitar (A156779)
 
Cyber crime
Cyber crimeCyber crime
Cyber crime
 
Plano de Comunicação e Marketing - ONG -Exemplo Planta Bicho Gente
Plano de Comunicação e Marketing - ONG -Exemplo Planta Bicho GentePlano de Comunicação e Marketing - ONG -Exemplo Planta Bicho Gente
Plano de Comunicação e Marketing - ONG -Exemplo Planta Bicho Gente
 
Bandar berpusatkan masjid dan rumah ibadah lain
Bandar berpusatkan masjid dan rumah ibadah lainBandar berpusatkan masjid dan rumah ibadah lain
Bandar berpusatkan masjid dan rumah ibadah lain
 
Dasar Penswastaan
Dasar PenswastaanDasar Penswastaan
Dasar Penswastaan
 
CYBER Crime Cyber Security Cyber Law INDIA
CYBER Crime Cyber Security Cyber Law INDIACYBER Crime Cyber Security Cyber Law INDIA
CYBER Crime Cyber Security Cyber Law INDIA
 

More from WordCamp Kyiv

WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WordCamp Kyiv
 

More from WordCamp Kyiv (20)

Адаптация TInyMCE редактора под нужды клиента by Vitaly Nikolaev
Адаптация TInyMCE редактора под нужды клиента by Vitaly NikolaevАдаптация TInyMCE редактора под нужды клиента by Vitaly Nikolaev
Адаптация TInyMCE редактора под нужды клиента by Vitaly Nikolaev
 
Customizable Options: Редактирование опций в кастомайзере с фронтенда by Vikt...
Customizable Options: Редактирование опций в кастомайзере с фронтенда by Vikt...Customizable Options: Редактирование опций в кастомайзере с фронтенда by Vikt...
Customizable Options: Редактирование опций в кастомайзере с фронтенда by Vikt...
 
WordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr StrikhaWordPress: React way by Oleksandr Strikha
WordPress: React way by Oleksandr Strikha
 
Best Practices for creating WP REST API by Galkin Nikita
Best Practices for creating WP REST API by Galkin NikitaBest Practices for creating WP REST API by Galkin Nikita
Best Practices for creating WP REST API by Galkin Nikita
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
 
WP Kitchen Meetup Spring 2015 - Александр Стриха: WordPress в облаках
WP Kitchen Meetup Spring 2015 - Александр Стриха: WordPress в облакахWP Kitchen Meetup Spring 2015 - Александр Стриха: WordPress в облаках
WP Kitchen Meetup Spring 2015 - Александр Стриха: WordPress в облаках
 
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
 
WP Kitchen Meetup Spring 2015 - Виктор Кулебякин: WordPress JavaScript Utils
WP Kitchen Meetup Spring 2015 - Виктор Кулебякин: WordPress JavaScript UtilsWP Kitchen Meetup Spring 2015 - Виктор Кулебякин: WordPress JavaScript Utils
WP Kitchen Meetup Spring 2015 - Виктор Кулебякин: WordPress JavaScript Utils
 
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: п...
 
WP Kitchen Meetup Spring 2015 - Алексей Федоров: Как из наработок сделать пр...
WP Kitchen Meetup Spring 2015 - Алексей Федоров: Как из наработок сделать пр...WP Kitchen Meetup Spring 2015 - Алексей Федоров: Как из наработок сделать пр...
WP Kitchen Meetup Spring 2015 - Алексей Федоров: Как из наработок сделать пр...
 
WordPress и социальные сети
WordPress и социальные сетиWordPress и социальные сети
WordPress и социальные сети
 
Нюансы создания интернет-магазина на WordPress
Нюансы создания интернет-магазина на WordPressНюансы создания интернет-магазина на WordPress
Нюансы создания интернет-магазина на WordPress
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
 
WordPress Kitchen 2014 - Lars Magnus: How content marketing drives a new dema...
WordPress Kitchen 2014 - Lars Magnus: How content marketing drives a new dema...WordPress Kitchen 2014 - Lars Magnus: How content marketing drives a new dema...
WordPress Kitchen 2014 - Lars Magnus: How content marketing drives a new dema...
 
WordPress Kitchen 2014 - Дмитрий Корельский: Ангулярность WordPress бытия
WordPress Kitchen 2014 - Дмитрий Корельский: Ангулярность WordPress бытияWordPress Kitchen 2014 - Дмитрий Корельский: Ангулярность WordPress бытия
WordPress Kitchen 2014 - Дмитрий Корельский: Ангулярность WordPress бытия
 
WordPress Kitchen 2014 - Дмитрий Курикша: WP для клиента. Прячем лишнее под к...
WordPress Kitchen 2014 - Дмитрий Курикша: WP для клиента. Прячем лишнее под к...WordPress Kitchen 2014 - Дмитрий Курикша: WP для клиента. Прячем лишнее под к...
WordPress Kitchen 2014 - Дмитрий Курикша: WP для клиента. Прячем лишнее под к...
 
WordPress Kitchen 2014 - Дмитрий Романенко: Философия создания и использовани...
WordPress Kitchen 2014 - Дмитрий Романенко: Философия создания и использовани...WordPress Kitchen 2014 - Дмитрий Романенко: Философия создания и использовани...
WordPress Kitchen 2014 - Дмитрий Романенко: Философия создания и использовани...
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
 
Social networks API + WordPress
Social networks API + WordPressSocial networks API + WordPress
Social networks API + WordPress
 
Multisite in WordPress
Multisite in WordPressMultisite in WordPress
Multisite in WordPress
 

WordPress Kitchen MeetUp Summer 2015 - Дмитрий Романенко "Customizer: зачем он нужен и что с ним делать?"

  • 1. Customizer: зачем он нужен и что с ним делать? Дмитрий Романенко deco.agency
  • 2. текущая ситуация с конфигураторами тем Хаос, каждый пишет и делает как ему вздумается
  • 3. На рассмотрение - полезность, удобство, быстрый старт и легкость использования - ООП и создание собственных елементов, наследование существующих - механизм визуального конструктора чего- либо с коробки
  • 4. полезность, удобство, быстрый старт и легкость использования Все просто, только докрути педали и поехали Удобство в написании из готового до превращения в желаемое
  • 5. https://codex.wordpress.org/Theme_Customization_API Копипаст js и кода php, кастомайзер готов к воплощению ваших желаний Доступ к сохраненной опции из темы Создаем елемент управления $wp_customize->add_control( 'copyright_textbox', array( 'label' => 'Copyright text', 'section' => 'example_section_one', 'type' => 'text', ) ); Вывод в нашей теме echo get_theme_mod( 'copyright_textbox', 'Значение по умолчания' );
  • 6. ООП и создание собственных элементов, наследование существующих Не стандартные элементы используют ООП для реализации функционала $wp_customize->add_control( new WP_Customize_Upload_Control( $wp_customize, 'file-upload', array( 'label' => 'Загрузка файлов', 'section' => 'example_section_one', 'settings' => 'file-upload' ) ) ); /** * Добавляет поддержку текстовой области в настройщик тем */ class Example_Customize_Textarea_Control extends WP_Customize_Control { public $type = 'textarea'; public function render_content() { ?> <label> <span class="customize-control-title"> <?php echo esc_html( $this->label ); ?></span> <textarea rows="5" style="width:100%;" <?php $this->link(); ?>> <?php echo esc_textarea( $this->value() ); ?> </textarea></label> <?php } }
  • 7. wp-includesclass-wp-customize-control.php - базовые классы элементов управления в кастомайзере WP_Customize_Control - базовый класс для всех елементов: WP_Customize_Color_Control WP_Customize_Media_Control WP_Customize_Upload_Control WP_Customize_Image_Control WP_Customize_Background_Image_Control WP_Customize_Header_Image_Control WP_Customize_Theme_Control WP_Widget_Area_Customize_Control WP_Widget_Form_Customize_Control WP_Customize_Media_Control - базовый класс для элементов загрузки файлов. Пример class WP_Customize_Upload_Control extends WP_Customize_Media_Control { ... } - загрузка файлов без учета расширения class WP_Customize_Image_Control extends WP_Customize_Upload_Control - загрузка изображений и каждый класс использует предыдущий, также Вы можете самостоятельно унаследоваться и доработать свой мега класс элемента
  • 8. механизм визуального конструктора чего- либо с коробки На примере расмотрим интересный плагин Edit WordPress Email Templates in the Customizer Использовано - полностью использует Customizer - обычный и респонсив варианты - тестовая отправка мейла - возможность поменять мейл и прочее - использованы базовые элементы управления Customizer - live обновление визульного представления Не доработано - выбор привязки к какому типу отправляемых email - редактирование контента в режиме редактора
  • 9.
  • 10. Спасибо за внимание https://github.com/bueltge/Wordpress-Theme-Customizer-Custom- Controls - классы кастомных елементов управления http://onwp.ru/uroki/theme-customizer-wordpress-ischerpyvayushhee- rukovodstvo-razrabotchika.html - понятное мини руководство http://wptavern.com/edit-wordpress-email-templates-in-the-customizer - Edit WordPress Email Templates in the Customizer Полезные ссылки WordPress developer deco.agency Дмитрий Романенко dim.romanenko@gmail.com