Дванаеста радионица за израду Вордпрес тема је одржана у суботу, 16 марта у новосадском Стартит Центру. Овај термин смо посветили прилагођавачу (Customizer).
Објекти прилагођавача
Прилагођавач је сачињен од четири типа објекта: панел, секција, подешавање и контрола. Сваки од њих има три метода, add_, get_ и remove_, који нам омогућавају да прилагодимо прилагођавач различитим потребама. За било какво прилагођавање користимо customize_register копчу акције.
Панел
Подразумевани прилагођавач нема регистрованих панела али их је лако додати помоћу add_panel метода. Панел може садржавати једну или више секција. Уколико ће имати само једну секцију, онда је за корисничко искуство много корисније да та секција буде самостална.
Важно је имати у виду да панел мора да има бар једну секцију да би био видљив у прилагођавачу. Исто тако, да би секција била видљива у прилагођавачу, мора да садржи бај деан пар подешавања и контроле.
Доступне методе: add_panel, get_panel и remove_panel.
Секција
Секција може бити самостална а може и да, поред других секција, припада панелу. Све подразумеване секције су самосталне. За додавање нове секције користимо add_section метод WP_Customize_Manager објекта док за уклањање користимо remove_section. За промену било ког аргумента подразумеване секције користимо get_section.
Подразумеване секције су:
Назив | ID | Приоритет (Редослед) |
Site Title & Tagline | title_tagline | 20 |
Colors | colors | 40 |
Header Image | header_image | 60 |
Background Image | background_image | 80 |
Menus (Panel) | nav_menus | 100 |
Widgets (Panel) | widgets | 110 |
Static Front Page | static_front_page | 120 |
default | 160 | |
Additional CSS | custom_css | 200 |
Доступне методе: add_section, get_section и remove_section.
Подешавање
Подешавање увек иде у пару са контролом. Овде се дефинише да ли ће вредност контроле бити сачувана као option или theme_mod, подразумевана вредност контроле, начин приказивања промене у самом прилагођавачу итд.
Препоручује се да јединствени назив подешавања, ID, буде исти као и контролин јер ово омогућава лакше динамичко приказивање вредности код неких контрола, као што су select и radio.
Доступне методе: add_setting, get_setting и remove_setting.
Контрола
Котрола је заправо поље обрасца помоћу кога добијамо жељену вредност од корисника.
Подразумевана подешавања и контроле:
Назив | ID | Секција |
Site Title | blogname | title_tagline |
Tagline | blogdescription | title_tagline |
Display Site Title and Tagline | header_text | title_tagline |
Site Icon | site_icon | title_tagline |
Logo | custom_logo | title_tagline |
Header Text Color | header_textcolor | colors |
Background Color | background_color | colors |
Header Image | header_image | header_image |
Header Image Data | header_image_data | header_image |
Header Video | header_video | header_image |
External Header Video | external_header_video | header_image |
Background Image | background_image | background_image |
Preset | background_preset | background_image |
Image Position | background_position | background_image |
Image Size | background_size | background_image |
Repeat Background Image | background_repeat | background_image |
Scroll with Page | background_attachment | background_image |
Your homepage displays | show_on_front | static_front_page |
Homepage | page_on_front | static_front_page |
Posts page | page_for_posts | static_front_page |
CSS code | custom_css | custom_css |
Доступне контроле:
- text,
- textarea,
- email,
- url,
- radio,
- select,
- number,
- checkbox,
- dropdown-pages,
- password,
- hidden и
- date.
Доступне напредне контроле:
- WP_Customize_Image_Control,
- WP_Customize_Color_Control,
- WP_Customize_Media_Control,
- WP_Customize_Upload_Control,
- WP_Customize_Background_Image_Control,
- WP_Customize_Background_Position_Control,
- WP_Customize_Cropped_Image_Control,
- WP_Customize_Site_Icon_Control,
- WP_Customize_Theme_Control,
- WP_Customize_Code_Editor_Control,
- WP_Customize_Date_Time_Control
Доступне методе: add_control, get_control и remove_control.
Селективно освежавање
Како би корисничко искуство живог прегледа промена у прилагођавачу било што ефикасније, уместо освежавања целе странице, могуће је освежавање само елемента који се мења на страници. Ово се постиже transport параметром у подешавању и додавањем подешавања у selective_refresh објект.
Санитизација
Сваку вредност коју добијамо као унос корисника је неопходно припремити за похрањивање у базу података. Тај процес се назива санитизација.
У Вордпресу постоје готове функције које врше санитизацију за одређене типове вредности. Називи већине ових функција започињу са sanitize_.
За вредности које можемо очекивати из прилагођавача а за које не постоје припремљене функције, санитизацију вршимо помоћу прилагођених функција. Вордпресов тим за преглед тема, WPTRT, је припремио низ примера доступних на Github-u.
Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.
Следећи термин ћемо посветити напреднијом употребом прилагођавача помоћу Кирки додатка.
Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.
Оставите одговор
Жао нам је, да би поставили коментар, морате бити пријављени.