WordPressi teema kohandaja boileri laiendamine

  1. 1. Sissejuhatus WordPressi teema kohandajasse
  2. 2. Suhtlemine WordPressi teema kohandajaga
  3. 3. WordPressi teema kohandaja katlaplaat
  4. 4. Praegu loeb: WordPressi teema kohandaja boileri laiendamine
  5. 5. Teema kohandaja katlaplaat – tingimuslikud valikud, alamteemad ja pistikprogrammid

Teema kohandaja seeria 3. osa tutvustas teile teema kohandaja boileri, mis võimaldab teil lihtsustada teemavalikutega tegelevat koodi. Kõik, mida peate tegema, on massiivse valikuväljade edastamine ja katteplaat hoolitseb teema Kohandaja jaotiste, sätete ja juhtelementide registreerimise eest teile kulisside taga.


Kui seni lubas katteplaat kasutada tekstivälju, märkeruute, raadionuppe ja valida väljad teemakohandajas, siis see artikkel näitab teile, kuidas seda laiendada.

Märkus. Enne jätkamist laadige oma Githubi hoidlast alla WordPress Theme Customizer Boilerplate uusim versioon. Olen pärast viimast õpetust sellesse mõned parandused teinud ja on oluline, et teie kood oleks ajakohane. Vaadake eelnevat postitust, et saada rohkem märkusi muudatuste kohta, kuid lühidalt öeldes, kui olete katlakivi oma teema kausta kopeerinud, ei pea te selle faile üldse redigeerima – kogu redigeerimine toimub filtri ja toimingukonksude abil.

Haaramine teema kohandaja boileri külge

WordPress Theme Customizer Boileri plaadil on mitu tegevus- ja filtrikonksu. Saate mõne neist oma teema funktsioon.php-failist haakida, kasutades add_action ja add_filter funktsioonid:

  • ‘Thsp_cbp_directory_uri’ – Helpers.php-s määratletud filtri konks võimaldab teil muuta teemakausta kohandajaboileri asukohta. Katla plaadi tee näeb vaikimisi välja selline – get_template_directory_uri (). ‘/ Kohandaja-katteplaat’ – aga kui eelistaksite selle kohandatud asukohta teisaldada, võib see teid aidata.
  • ‘Thsp_cbp_menu_link_text’ – Filtreeri konks, mis on määratletud helpers.php-s, võimaldab muuta menüü teksti linki. Katlaplaat lisab WordPressi juhtpaneeli välimuse all lingi, võimaldades kasutajatel hõlpsat juurdepääsu teema kohandajale. Vaikimisi öeldakse sellel lingil “Theme Customizer” ja saate teksti muuta, kasutades filtrit “thsp_cbp_menu_link_text”.
  • ‘Thsp_cbp_capability’ – filtrikonks määratletud helpers.php-s. Võimaldab muuta vajalikku vaikimisi võimalust, mida kasutatakse $ wp_customize-> add_setting meetodis.
  • ‘Thsp_cbp_option “ – filtrikonks määratletud helpers.php-s. Kui kasutate seadete argumentides suvandit „suvand”, kasutage seda konksu selle kirje nime muutmiseks, mille teema sätete väärtused talletatakse tabelisse wp_options. Vaikeväärtus on ‘thsp_cbp_theme_options’. Veenduge, et olete selle külge ühendanud ja vahetage see millekski, millel on teie teema nimi.
  • ‘Thsp_cbp_options_array’ – Filtreerige konks, mis on määratletud suvandis options.php, peate selle külge haarama ja asendama vaikesuvandite massiivi (mis sisaldab näidisvalikuid) suvandites kasutatavate suvanditega. Ma kordan seda, pange paksus kirjas ja toon alla: YPeate selle haarama ja asendama vaikesuvandite massiivi suvandites kasutatavate suvanditega.
  • ‘Thsp_cbp_custom_controls’ – kohandatud-controls.php-s määratletud toimingukonks, selle külge haakides saate luua oma kohandatud juhtnupud, lugege ja näete, kuidas seda teha.
  • ‘Tshp_cbp_remove_sections’‘Tshp_cbp_remove_controls’ ja ‘Tshp_cbp_remove_settings’ – filtreerige konsoolid, mis on määratletud kohandajas.php. Mõne sisseehitatud sektsiooni, juhtelementide või sätete eemaldamiseks võite neile edastada sisseehitatud sektsioonide ID-de (või juhtelementide või seadete ID-de) massiive.

Märkus. Ehkki oleme laiendatavad ja loome teie konksud, et teised arendajad saaksid neid teie koodi laiendamiseks kasutada, on võimatu üle tähtsustada, kui oluline see on. Lõppude lõpuks töötab see WordPress (tuum). Ja ma ei saanud tänada Pippin ja tema artiklid piisavalt, et see idee mulle pähe saada.

Kohandatud juhtnupud

Teemakohandaja värskendatud versioonil (mille just kontrollisite, eks?) On veel mõned juhtelemendid, mida saate kasutada – tekstivälja, HTML5 numbri ja piltide välja, mis on põhimõtteliselt raadionuppude väljamõeldud versioon..

Need kohandatud juhtnupud on määratletud kohandatud kontrolliga.php, ma ei hakka neid kõiki siin läbi vaatama, vaid vaatame ühte (HTML5 numbri väli), et näha, kuidas see kõik töötab:

/ **
* Loob sisestusvälja [tüüp = number] kohandaja juhtimise
*
* @suhe teema_kohandaja_boileri 1.0
* /
klass CBP_Customizer_Number_Control laiendab WP_Customize_Control {

avalik $ tüüp = 'arv';

avalik funktsioon render_content () {
kaja '';
}

}

Nagu näete, on kõik, mida peate tegema, määratlema uue juhtimise $ tüübi ja selle funktsiooni render_content, mis väljastab juhtimise teema kohandaja ekraanil.

Kohandaja Boileri sisseehitatud kohandatud juhtelementide kasutamine

See on sama nagu eelmises õpetuses käsitletud lihtsad väljad, ainus asi, mida peate teadma, on tüübid, mida peate iga välja jaoks kasutama:

  • Numbriväli – ‘Arv’
  • Textarea väli – ‘Textarea’
  • Raadionuppudena töötavad pildid – ‘Images_radio’, siin on selle juhtimise näide eelseisvas tasuta Cazuela teema:

Teema Kohandaja katlaplaat

Nende uute juhtelementide nimede tundmine on nende lisamine lihtne. Numbrivälja juhtelemendi lisamiseks massiivi, mis sisaldab kõiki teie võimalusi, toimige järgmiselt.

/ *
* ============
* ============
* Numbri väli
* ============
* ============
* /
'new_number_field' => massiiv (
'setting_args' => massiiv (
'vaikimisi' => '',
'type' => 'variant',
'võime' => $ thsp_cbp_capability,
'transport' => 'värskenda',
),
'control_args' => massiiv (
'label' => __ ('Number', 'my_theme_textdomain'),
'type' => 'number', // Textarea juhtimine
'prioriteet' => 8
)
)

Märkus. Kui te pole kindel, kuhu see lisada, vaadake selle seeria 3. osa jaotist „Valikute massiivi kasutamine kohandaja jaotiste, sätete ja juhtelementide lisamiseks”. Failis options.php on olemas ka iga kohandatud juhtelementide näidis.

Oma kohandatud juhtelementide lisamine

Tulgem tagasi toimimiskonksu “thsp_cbp_custom_controls” juurde, mida ma juba mainisin:

/ **
* Tegevuskonks, mis võimaldab teil luua oma juhtnupud
* /
do_action ('thsp_cbp_custom_controls');

See on lihtne WordPressi toimimiskonks, mis võimaldab teil lisada oma kohandatud juhtelemente, ilma et muudaksite teema kohandaja boileriplaatide faile. Miks soovite nende redigeerimist vältida? Sest kui olete selle asemel haakunud katteplaadiga, saate iga kord, kui keegi seda värskendab, haarata kõige uuema versiooni, selle oma teema alla tõmmata ja tehtud muudatusi kaotada. Mõelge, et saate redigeerida WordPressi põhifaile vs pistikprogrammi kirjutamist, teema redigeerimist või lapseteema loomist jne.

Kui peate kunagi oma kohandatud juhtelemendid lisama, saate seda teha nii:

funktsioon my_theme_add_customizer_boilerplate_control () {
/ **
* Loob kohandatud juhtimise, mida saab kasutada teema kohandaja katlaplaadiga
* Kasutage ainulaadset klassi eesliidet!
*
* @suhe teema_kohandaja_boileri 1.0
* /
klass CBP_Customizer_My_Control laiendab WP_Customize_Control {

avalik $ type = 'my_type'; // muuda seda

avalik funktsioon render_content () {
// Juhtväljund läheb siia
}

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

Lisage oma kohandatud juhtklassi eesliide millelegi ainulaadsele, nii et selle nimi ei lähe kokku teise klassiga. Ma kasutasin “CBP_” (kohandaja katteplaat) – kuna te kasutate teema teemadel katteplaati, on teie teemal nimi palju mõtet ja see peaks teie jaoks hästi sobima.

Teema kohandaja: mis edasi saab??

Nüüd, kui WordPressi teemakohandaja katteplaati saab konksude kaudu laiendada, vaatame lähemalt, kuidas lisada tingimuslikke teemavalikuid – neid, mis ilmuvad ainult siis, kui mõni pistikprogramm on aktiivsed ja aitavad teil teemakohandaja kohandatud ekraani seest lahti hoida..

Mis on teie mõtted Customizer Boilerplate kohta siiani? Kas kavatsete seda oma teemades kasutada? Kas teil on ideid, kuidas seda paremaks muuta? Teie tagasiside on alati teretulnud.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map