Rozšírenie kotla WordPress Theme Customizer

  1. 1. Úvod do Prispôsobovača tém WordPress
  2. 2. Interakcia s WordPress Theme Customizer
  3. 3. Varná doska WordPress Theme Customizer
  4. 4. Aktuálne čítanie: Rozšírenie kotla WordPress Theme Customizer
  5. 5. Boilerplate prispôsobovača tém – podmienečné možnosti, podradené motívy a doplnky

Časť 3 série Prispôsobovač tém vám predstavila boilerplate Témy Prispôsobovač, ktorý vám umožňuje zjednodušiť kód, ktorý spracováva vaše možnosti témy. Všetko, čo musíte urobiť, je prejsť celým radom voliteľných polí a kontrolná doska sa postará o registráciu sekcií, nastavení a ovládacích prvkov Témy zákulisia za scénami..


Doteraz vám platforma umožňovala používať textové polia, začiarkavacie políčka, prepínače a vybrať polia v aplikácii Prispôsobenie motívov. V tomto článku sa zobrazuje, ako ju môžete rozšíriť.

Poznámka: Pred pokračovaním si stiahnite najnovšiu verziu Boilerplate WordPress Theme Customizer Boilerplate z úložiska Github. Od posledného tutoriálu sme v ňom vykonali určité vylepšenia a je dôležité, aby bol váš kód aktuálny. Ak sa chcete dozvedieť viac o zmenách, pozrite sa na predchádzajúci príspevok, ale v skratke, akonáhle skopírujete dosku s témou do priečinka s témou, nemusíte vôbec upravovať svoje súbory – všetky úpravy sa vykonávajú pomocou háčikov na filtre a akcie..

Zapojenie do kotla na prispôsobenie témy

V bojlerovej doske WordPress Theme Customizer existuje niekoľko háčikov na akcie a filtre. Môžete sa pripojiť k niektorému z nich zo súboru features.php témy pomocou ADD_ACTION a add_filter funkcie:

  • , Thsp_cbp_directory_uri ‘ – Háčik filtra definovaný v súbore helpers.php vám umožňuje zmeniť umiestnenie Prispôsobovacej jednotky vo vašej tematickej zložke. Cesta predvolene vyzerá takto: get_template_directory_uri (). , / Personalizátor-štandardizovaný ‘ – ale ak by ste ju radšej presunuli na vlastné miesto, pomôže vám to háčik.
  • , Thsp_cbp_menu_link_text ‘ – Háčik filtra definovaný v súbore helpers.php umožňuje zmeniť textový odkaz na ponuku. Boilerplate pridá odkaz pod Vzhľad na hlavnú dosku WordPress, čo používateľom umožní jednoduchý prístup k Theme Customizer. V predvolenom nastavení bude tento odkaz obsahovať text „Prispôsobovač motívov“ a text môžete zmeniť pomocou háčika filtra „thsp_cbp_menu_link_text“.
  • , Thsp_cbp_capability ‘ – Háčik filtra definovaný v súbore helpers.php. Umožňuje zmeniť predvolenú požadovanú schopnosť používanú v metóde $ wp_customize-> add_setting.
  • , Thsp_cbp_option ‘ – Háčik filtra definovaný v súbore helpers.php. Ak v parametroch nastavení používate možnosť „voľba“, použite tento hák na zmenu názvu položky, v ktorej sa hodnoty nastavení tém uložia do tabuľky wp_options. Predvolená hodnota je „thsp_cbp_theme_options“, nezabudnite sa k nej pripojiť a zmeniť ju na niečo, v ktorom je uvedený názov témy..
  • , Thsp_cbp_options_array ‘ – Háčik filtra definovaný v options.php, MUSÍTE ho pripojiť a nahradiť predvolené pole volieb (obsahujúce ukážkové voľby) voľbami, ktoré sa používajú vo vašej téme. Zopakujem to, tučným písmom a zdôrazním to: You MUSÍTE pripojiť a nahradiť predvolené pole možností voľbami, ktoré sa používajú vo vašej téme.
  • , Thsp_cbp_custom_controls ‘ – Akčný háčik definovaný v custom-controls.php, zapojením do neho si môžete vytvoriť vlastné ovládacie prvky, čítajte ďalej, aby ste videli príklad, ako to urobiť.
  • , Tshp_cbp_remove_sections ‘, Tshp_cbp_remove_controls ‘ a , Tshp_cbp_remove_settings ‘ – Filtračné háčiky definované v customizer.php. Môžete im odovzdať polia zabudovaných ID sekcií (alebo ID ovládacích prvkov alebo ID nastavení) a odstrániť niektoré zo zabudovaných sekcií, ovládacích prvkov alebo nastavení..

Poznámka: Aj keď sme v oblasti rozšíriteľnosti a vytvárania vlastných háčikov, aby ich mohli ďalší vývojári použiť na rozšírenie vášho kódu, nie je možné zveličiť, aké je to dôležité. Koniec koncov, takto funguje jadro WordPress. A nemohol som sa poďakovať Pippin a jeho články dosť na to, aby som dostal tento nápad do mojej hlavy.

Vlastné ovládacie prvky

Aktualizovaná verzia aplikácie Personalizátor tém (ktorú ste si práve rezervovali, nie?) Obsahuje niekoľko ďalších ovládacích prvkov, ktoré môžete použiť – textové pole, číslo HTML5 a pole obrázkov, čo je v podstate efektná verzia prepínačov.

Tieto vlastné ovládacie prvky sú definované v custom-controls.php, tu ich nebudem prechádzať, ale poďme sa pozrieť na jeden (pole HTML5), aby sme zistili, ako to všetko funguje:

/ **
* Vytvorí kontrolu Customizer pre vstupné pole [typ = číslo]
*
* @since Theme_Customizer_Boilerplate 1.0
* /
trieda CBP_Customizer_Number_Control rozširuje WP_Customize_Control {

public $ type = 'number';

public function render_content () {
ozvena,;
}

}

Ako vidíte, všetko, čo musíte urobiť, je definovať nový typ ovládacieho prvku $ a jeho funkciu render_content, ktorá vydá ovládací prvok na obrazovke Theme Customizer..

Pomocou vstavaných vlastných ovládacích prvkov nástroja Customizer Boilerplate

Je to to isté ako jednoduché polia obsiahnuté v predchádzajúcom návode. Jediná vec, ktorú musíte poznať, sú „typy“, ktoré musíte použiť pre každý z nich:

  • Číslo – , Číslo ‘
  • Pole textarea – , Textarea ‘
  • Obrázky, ktoré fungujú ako prepínače – , Images_radio ‘, tu je príklad tejto kontroly v nasledujúcom bezplatnom vydaní Téma Cazuela:

Kotol na prispôsobenie témy

Znalosť názvov týchto nových typov ovládania je jednoduché. Tu je postup, ako pridať pole s číselným poľom do poľa, ktoré obsahuje všetky vaše možnosti:

/ *
* ============
* ============
* Číslo poľa
* ============
* ============
* /
'new_number_field' => array (
'setting_args' => array (
'default' => '',
'type' => 'option',
'schopnosť' => $ thsp_cbp_capability,
'transport' => 'obnoviť',
),
'control_args' => array (
'label' => __ ('Number', 'my_theme_textdomain'),
'type' => 'number', // Ovládanie textarea
'priority' => 8
)
)

Poznámka: Ak si nie ste istí, kam to pridať, začiarknite časť „Použitie polí možností na pridanie sekcií prispôsobenia, nastavení a ovládacích prvkov“ časti 3 tejto série. V súbore options.php je tiež ukážka každého vlastného ovládacieho prvku.

Pridanie vlastných ovládacích prvkov

Vráťme sa k akčnému háku „thsp_cbp_custom_controls“, ktorý som spomenul vyššie:

/ **
* Akčný hák, ktorý vám umožní vytvoriť si vlastné ovládacie prvky
* /
do_action ('thsp_cbp_custom_controls');

Je to jednoduchý akčný háčik WordPress, ktorý vám umožňuje pridať vlastné ovládacie prvky bez úpravy súborov Boilerplate prispôsobovača motívov. Prečo by ste sa im chceli vyhnúť? Pretože ak sa namiesto toho pripájate k varnej doske, kedykoľvek ju niekto aktualizuje, môžete jednoducho chytiť najnovšiu verziu, vložiť ju do svojho motívu a nestratiť vykonané zmeny. Premýšľajte o úprave základných súborov WordPress oproti napísaniu doplnku, úprave témy vs. vytvoreniu podradenej témy atď.

Ak niekedy potrebujete pridať vlastné ovládacie prvky, môžete to urobiť takto:

function my_theme_add_customizer_boilerplate_control () {
/ **
* Vytvára vlastné ovládanie, ktoré sa má použiť s bojlerovou šablónou Theme Customizer
* Použite jedinečnú predponu triedy!
*
* @since Theme_Customizer_Boilerplate 1.0
* /
trieda CBP_Customizer_My_Control rozširuje WP_Customize_Control {

public $ type = 'my_type'; // Zmeňte to

public function render_content () {
// Sem ide riadiaci výstup
}

}
}
add_action ('thsp_cbp_custom_controls', 'my_theme_add_customizer_boilerplate_control');

Uistite sa, že ste predponu svojej vlastnej kontrolnej triedy priradili niečím jedinečným, takže jej názov nie je v rozpore s inou triedou. Použil som „CBP_“ (prispôsobiteľný bojler) – keďže v rámci témy používate bojler, názov vašej témy má veľký zmysel a mal by pre vás fungovať dobre.

Prispôsobovač tém: Čo ďalej?

Teraz, keď je kotol WordPress Theme Customizer Boilerplate rozšíriteľný pomocou háčikov, pozrieme sa na pridanie „možností podmienených motívov“ – tých, ktoré sa objavia iba v prípade, že je aktívny určitý doplnok a ktoré vám pomôžu udržať obrazovku Screen Customizer bez preplnenia..

Aké sú vaše doterajšie myšlienky na kotli Customizer Boilerplate? Plánujete ich použiť vo svojich témach? Nejaké nápady, ako by sa dalo vylepšiť? Vaša spätná väzba je vždy vítaná.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me