WordPress-teeman räätälöintilaitteiston laajentaminen

  1. 1. Johdanto WordPress-teeman mukauttajaan
  2. 2. Vuorovaikutus WordPress Theme Customizer -sovelluksen kanssa
  3. 3. WordPress Theme Customizer -kattilalevy
  4. 4. Luettu tällä hetkellä: WordPress-teeman räätälöintilaitteiston laajentaminen
  5. 5. Teeman mukauttajan kattilalevy – ehdolliset vaihtoehdot, lapsiteemat ja laajennukset

Theme Customizer -sarjan osa 3 esitteli teeman Customizer-kattilalevyn, jonka avulla voit yksinkertaistaa koodia, joka käsittelee teemavaihtoehtoja. Ainoa mitä sinun on tehtävä on siirtää joukko lisäkenttiä, ja kattilalevy huolehtii teeman räätälöinnin osien, asetusten ja hallintalaitteiden rekisteröimisestä kulissien takana.


Tähän saakka kattilalevyn avulla voit käyttää tekstikenttiä, valintaruutuja, radiopainikkeita ja valita kenttiä Teeman mukauttamisohjelmassa. Tämä artikkeli näyttää kuinka voit laajentaa sitä.

Huomaa: Lataa ennen WordPress Theme Customizer -kattilalevyn uusinta versiota Github-arkistostaan. Olen tehnyt siihen joitain parannuksia edellisen oppaan jälkeen, ja on tärkeää, että koodisi on ajan tasalla. Katso aiemmasta viestistä lisää muutosehdotuksia, mutta pähkinänkuoressa, kun olet kopioinut kattilalevyn teemakansioon, sinun ei tarvitse muokata sen tiedostoja ollenkaan – kaikki muokkaaminen tapahtuu suodatin- ja toimintakoukkuilla.

Liittäminen Teeman muokkauksen kattilalevyyn

WordPress Theme Customizer -kattilalevyssä on useita toiminta- ja suodatuskoukkuja. Voit kytkeä minkä tahansa niistä teeman function.php-tiedostosta käyttämällä ADD_ACTION ja add_filter toiminnot:

  • ’Thsp_cbp_directory_uri’ – Suodatinkoukku, joka on määritelty helpers.php-tiedostossa, antaa sinun muuttaa mukautuksen kattilalevyn sijaintia teemakansiossasi. Kattilalevyn polku näyttää oletuksena tämä – get_template_directory_uri (). ’/ Customizer-täytetekstiä’ – mutta jos siirrät mieluummin mukautettuun sijaintiin, tämä on koukku, joka voi auttaa sinua.
  • ’Thsp_cbp_menu_link_text’ – Suodatuskoukku, joka on määritelty helpers.php: ssä, antaa sinun muuttaa valikkotekstilinkkiä. Kattilalevy lisää linkin WordPress-kojelaudan Ulkoasu-kohtaan, jolloin käyttäjät pääsevät helposti Teeman mukauttaja -sovellukseen. Oletusarvon mukaan kyseisessä linkissä on ”Theme Customizer” ja voit muuttaa tekstiä käyttämällä ”thsp_cbp_menu_link_text” suodatinkoukkua.
  • ’Thsp_cbp_capability’ – Suodatinkoukku määritetty kohdassa helpers.php. Voit muuttaa oletusvaatimuksia, joita käytetään $ wp_customize-> add_setting -menetelmässä.
  • ’Thsp_cbp_option’ – Suodatinkoukku määritetty kohdassa helpers.php. Jos käytät vaihtoehtoa asetusargumenteissa, käytä tätä koukkua muuttaaksesi sen merkinnän nimeä, jonka teema-asetukset arvot tallennetaan wp_options-taulukkoon. Oletusarvo on ‘thsp_cbp_theme_options’, varmista, että kiinnität tämän ja vaihda se johonkin, jolla on teemanimesi siinä..
  • ’Thsp_cbp_options_array’ – Suodata koodaus, joka on määritelty options.php: ssä, sinun on kiinnitettävä siihen ja korvattava oletusasetusten matriisi (joka sisältää näyteasetukset) teemallasi käytettävillä vaihtoehdoilla. Toistan sen, lihavoin sitä ja korostan sitä: YOU PITÄÄ kytkeä siihen ja korvata oletusasetusten taulukko teemallasi käytetyillä asetuksilla.
  • ’Thsp_cbp_custom_controls’ – Custom-controls.php: ssä määritetty toimintakoukku, kiinnittämällä siihen voit luoda omia mukautettuja säätimiä, jatkaa lukemista nähdäksesi esimerkin siitä, kuinka se tehdään.
  • ’Tshp_cbp_remove_sections’’Tshp_cbp_remove_controls’ ja ’Tshp_cbp_remove_settings’ – Suodata customizer.php: ssä määritetyt koukut. Voit siirtää heille sisäänrakennettujen osiotunnusten (tai ohjaustunnusten tai asetusten tunnusten) ryhmiä, jotta voidaan poistaa joitain sisäänrakennettuja osioita, säätimiä tai asetuksia.

Huomaa: Vaikka olemme laajennettavissa ja luomme omia koukkujasi, jotta muut kehittäjät voivat käyttää niitä laajentaaksesi koodiasi, on mahdotonta liioitella, kuinka tärkeätä tämä on. Loppujen lopuksi näin WordPress (ydin) toimii. En voinut kiittää Pippin ja hänen artikkeleita tarpeeksi saadakseni tämän idean pääni.

Muokatut säätimet

Teema Customizerin päivitetyssä versiossa (jonka juuri tarkistit, eikö?) On vielä muutama käyttöohje, joita voit käyttää – tekstikenttäkenttä, HTML5-numerokenttä ja kuvakenttä, joka on pohjimmiltaan hieno versio valintanapeista.

Nämä mukautetut säätimet on määritelty mukautetussa säätimessä.php, en käy läpi kaikkia niitä täällä, mutta katsotaanpa yhtä (HTML5-numerokenttä) nähdäksesi kuinka se kaikki toimii:

/ **
* Luo Customizer-ohjaimen syöttökenttään [type = number]
*
* @since Theme_Customizer_Boilerplate 1.0
* /
luokka CBP_Customizer_Number_Control laajentaa WP_Customize_Control {

public $ type = 'numero';

julkinen tehtävä render_content () {
kaiku '';
}

}

Kuten näette, kaikki mitä sinun tarvitsee tehdä, on määritellä uusi ohjaus $ -tyyppi ja sen render_content-toiminto, joka tuottaa ohjauksen Teeman mukauttaminen -näytössä.

Customizer Boilerplaten sisäänrakennettujen mukautettujen säätimien käyttö

Se on sama kuin edellisessä opetusohjelmassa käsitellyt yksinkertaiset kentät, ainoa asia, joka sinun on tiedettävä, on “tyypit”, joita sinun on käytettävä jokaisessa kentässä:

  • Numerokenttä – ‘määrä’
  • Textarea-kenttä – ’Tekstialue’
  • Valintanappina toimivat kuvat – ’Images_radio’, tässä on esimerkki tästä hallinnasta tulevassa ilmaisessa ilmapiirissä Cazuelan teema:

Teeman räätälöinnin kattilalevy

Näiden uusien ohjaustyyppien nimien tunteminen on helppoa. Voit lisätä numerokenttäohjauksen taulukkoon, joka sisältää kaikki asetukset:

/ *
* ============
* ============
* Numerokenttä
* ============
* ============
* /
'new_number_field' => taulukko (
'setting_args' => taulukko (
'oletus' => '',
'type' => 'option',
'ominaisuus' => $ thsp_cbp_capability,
'kuljetus' => 'päivitä',
),
'control_args' => taulukko (
'label' => __ ('Number', 'my_theme_textdomain'),
'type' => 'number', // Textarea-ohjaus
'prioriteetti' => 8
)
)

Huomaa: Jos et ole varma, mihin tämä lisätään, tarkista tämän sarjan osan 3 kohta Valintamatriisin käyttäminen mukauttajaosioiden, asetusten ja säätimien lisäämiseen. Jokaiselle custom.php-tiedostossa on myös näyte jokaiselle mukautetulle säätimelle.

Omien mukautettujen säätimien lisääminen

Palataanpa takaisin aiemmin mainitsemasi ‘thsp_cbp_custom_controls’ -toimintakoukkuun:

/ **
* Toimintakoukku, jonka avulla voit luoda omia säätöjä
* /
do_action ('thsp_cbp_custom_controls');

Se on yksinkertainen WordPress-toimintokoukku, jonka avulla voit lisätä omia mukautettuja säätimiäsi muuttamatta Teeman mukauttajan kattilalevy-tiedostoja. Miksi haluaisit välttää niiden muokkaamista? Koska jos kiinnität sen sijaan kattilalevyyn, voit aina tarttua uusimpaan versioon, pudottaa sen teemaasi etkä menetä tekemiäsi muutoksia, kun joku päivittää sen. Ajattele WordPress-ydintiedostojen muokkaamista vs. laajennuksen kirjoittamista, teeman muokkaamista tai lapsiteeman luomista jne.

Jos joudut koskaan lisäämään omia mukautettuja säätimiä, voit tehdä sen seuraavasti:

toiminto my_theme_add_customizer_boilerplate_control () {
/ **
* Luo mukautetun ohjauksen käytettäväksi Teeman mukauttamisen kattilalevyn kanssa
* Käytä ainutlaatuista luokan etuliitettä!
*
* @since Theme_Customizer_Boilerplate 1.0
* /
luokka CBP_Customizer_My_Control laajentaa WP_Customize_Control {

public $ type = 'my_type'; // Vaihda tämä

julkinen tehtävä render_content () {
// Ohjauslähtö menee tähän
}

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

Varmista, että etuliitte mukautettu ohjausluokka jollain ainutlaatuisella, joten sen nimi ei ole ristiriidassa toisen luokan kanssa. Käytin CBP_ (Customizer Boilerplate) – koska käytät kattilalevyä teemassa, teesi nimellä on paljon järkeä ja sen pitäisi toimia hyvin sinulle.

Teeman mukauttaja: Mitä seuraavaksi??

Nyt kun WordPress Theme Customizer -kattilalevy on laajennettavissa koukkujen avulla, harkitsemme lisäämään ”ehdolliset teemavaihtoehdot” – sellaisia, jotka ilmestyvät vain, jos tietty laajennus on aktiivinen, ja auttavat sinua pitämään Teeman mukauttajan näytön turmeltumattomana..

Mitä mieltä olet toistaiseksi Customizer Boilerplate -sovelluksesta? Aiotko käyttää sitä teemaissasi? Onko ideoita siitä, kuinka sitä voitaisiin parantaa? Palautteesi on aina tervetullut.

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