Þema sérsniðið ketilplata – Skilyrt valmöguleikar, barnaþemu og viðbætur

  1. 1. Kynning á WordPress þema sérsniðna
  2. 2. Samskipti við WordPress þema sérsniðna
  3. 3. Boilerplate fyrir sérsniðið WordPress þema
  4. 4. Útvíkkun ketilsplata WordPress þema
  5. 5. Lestur sem stendur: Þema sérsniðið ketilplata – Skilyrt valmöguleikar, barnaþemu og viðbætur

Enn sem komið er höfum við séð hversu einfalt það er að meðhöndla þemavalkosti með því að nota Theme Customizer Boilerplate og krókana. Eins og þú muna eflaust, mikilvægasta skrefið var að krækja í „Thsp_cbp_options_array“ síaðu krókinn og gefðu honum fjölda valkosta sem þú vilt nota í þemað þitt.


Ég er viss um að þú þekkir nú þegar aðgerðir WordPress og síu krókar – API viðbætur – og hvernig þær virka, en bara ef þetta er stutt er hér að nota (með síukrókum sem dæmi). Þú getur skilgreint sérsniðna aðgerð þína og tengt hana við núverandi síu með add_filter aðgerð:

add_filter ($ tag, $ function_to_add, $ forgang, $ accept_args);

Við skulum einbeita okkur að forgangsröksemdum. Sjálfgefið gildi þess er 10, þannig að ef þú notar ekki annað númer, þá er það forgangsröðun virka aðgerðarinnar. Lækkaðu töluna, fyrr er aðgerð þín framkvæmd. Svo ef þú gerir eitthvað svona:

// Bætir við fyrstu skilaboðum
virka my_theme_add_first_message ($ innihald) {
$ innihald. = '

Fyrsta skilaboðin

'; skila $ efni; } add_filter ('the_content', 'my_theme_add_first_message', 1); // Bætir við öðrum skilaboðum virka my_theme_add_second_message ($ innihald) { $ innihald. = '

Önnur skilaboð

'; skila $ efni; } add_filter ('the_content', 'my_theme_add_second_message', 2);

Þegar þú hringir í_einingaraðgerðina í single.php eða annað sniðmát birtist innihald, síðan fyrsta skilaboðin og síðan önnur skilaboð. Ekki vegna þess að það er röð þeirra í þessu kóða, heldur vegna forgangsstillingar framkvæmdar. Hugsaðu um krókana eins og þeir væru snjóboltar sem rúlluðu niður hæðina og tína alls konar efni á leiðinni.

Hvernig á þetta að vera með Theme Customizer Boilerplate?

Þú getur krókað þig inn „Thsp_cbp_options_array“ úr function.php skrá þemans þíns og notar sérsniðna aðgerð (t.d. my_theme_options_array) með forgangsgildi stillt á 1. Það þýðir öll önnur aðgerð sem tengist „Thsp_cbp_options_array“ síu krókur mun gera það EFTIR my_theme_options_array aðgerð sem þú hefur þegar skilgreint. Skoðaðu þetta dæmi:

virka my_theme_options_array () {
// Notkun hjálparaðgerða til að fá sjálfgefna hæfileika
$ thsp_cbp_capability = thsp_cbp_capability ();

$ valkostir = fylki (
// Auðkenni hlutans
'my_theme_new_section' => fylki (

'exist_section' => ósatt,
'args' => fylki (
'title' => __ ('Nýr hluti', 'my_theme_textdomain'),
'forgang' => 10
),
'sviðum' => fylki (
/ *
* Útvarpsreitur
* /
'my_radio_button' => fylki (
'setting_args' => fylki (
'default' => 'valkostur-2',
'type' => 'valkostur',
'capability' => $ thsp_cbp_capability,
'flutningur' => 'hressa',
),
'control_args' => fylki (
'label' => __ ('Útvarpshnappurinn minn', 'my_theme_textdomain'),
'type' => 'útvarp', // Útvarpsstýring
'choice' => fylki (
'option-1' => fylki (
'label' => __ ('Valkostur 1', 'my_theme_textdomain')
),
'option-2' => fylki (
'label' => __ ('Valkostur 2', 'my_theme_textdomain')
),
'option-3' => fylki (
'label' => __ ('Valkostur 3', 'my_theme_textdomain')
)
),
'forgang' => 3
)
)
)
)
);

skila valkostum $;
}
add_filter ('thsp_cbp_options_array', 'my_theme_options_array', 1);

Þetta mun bæta við nýjum kafla í þema sérsniðna með einn reit í honum, kallaður útvarpshnappur minn. Síðan þróar þú eða einhver annar barnatískusnið fyrir þemað þitt og ákveður að halda nýjum kafla en í staðinn fyrir útvarpshnappinn minn gæti verið betra að hafa gátreitinn minn. Auðvelt:

virka my_child_theme_options_array ($ valkostir) {
// Notkun hjálparaðgerða til að fá sjálfgefna hæfileika
$ thsp_cbp_capability = thsp_cbp_capability ();

/ *
* Að þessu sinni erum við aðeins að breyta reitum í my_theme_new_section í $ valmyndinni
* /
$ möguleikar ['my_theme_new_section'] ['field'] = fylki (
'my_checkbox_field' => fylki (
'setting_args' => fylki (
'default' => satt,
'type' => 'valkostur',
'capability' => $ thsp_cbp_capability,
'flutningur' => 'hressa',
),
'control_args' => fylki (
'label' => __ ('My checkbox', 'my_theme_textdomain'),
'type' => 'gátreitur', // Reitstýring gátkassa
'forgang' => 2
)
)
);

skila valkostum $;
}
add_filter ('thsp_cbp_options_array', 'my_child_theme_options_array', 2);

Tók eftir því að ég fór ekki með $ option breytu í my_theme_options_array og gerði það í my_child_theme_options_array aðgerðinni? Það er vegna þess að þegar ég tengdist mér fyrst „Thsp_cbp_options_array“ krókur Mig langaði til að hnekkja Theme Customizer Boilerplate sýnishorn valkosti. Þegar ég tengdist því aftur við þema barns míns, vildi ég ekki eyða valkostum foreldra þemað alveg, bara breyta þeim örlítið. Þess vegna er ég aðeins að klúðra $ valkostum [‘my_theme_new_section’] [‘field’], en ekki öllu $ valmöguleikaröðinni.

Auðvitað geturðu líka krókað þig inn „Thsp_cbp_options_array“ síaðu krókinn frá þema foreldris þíns oftar en einu sinni. Segjum sem svo að þú hafir valið að bæta ekki viðbætissvæðum eiginleikum við þemað þitt og láta viðbætur gera það sem þeim er ætlað. Nú viltu aðeins sýna nokkra valkosti þema Customizer ef ákveðin viðbót er virk. Aftur, auðvelt:

virka my_plugin_dependency_options_array ($ valkostir) {
// Notkun hjálparaðgerða til að fá sjálfgefna hæfileika
$ thsp_cbp_capability = thsp_cbp_capability ();

/ *
* Aðeins að bæta við mínum_plugin_háð_section ef 'test-plugin.php' er virkt
* /
if (is_plugin_active ('test-plugin / test-plugin.php')) {

$ options ['my_plugin_dependency_section'] = fylki (
'exist_section' => ósatt,
'args' => fylki (
'title' => __ ('Plugin Dependency', 'my_theme_textdomain'),
'forgang' => 10
),
'sviðum' => fylki (
/ *
* Textareitur
* /
// Auðkenni reits
'new_text_field' => fylki (
'setting_args' => fylki (
'default' => __ ('', 'my_theme_textdomain'),
'type' => 'valkostur',
'capability' => $ thsp_cbp_capability,
'flutningur' => 'hressa',
),
'control_args' => fylki (
'label' => __ ('sýnir aðeins ef', 'my_theme_textdomain'),
'type' => 'texti', // Textasviðsstýring
'forgang' => 5
)
),
)
);

}

skila valkostum $;
}
add_filter ('thsp_cbp_options_array', 'my_plugin_háð_options_array', 3);

Langar að þróa a kjarna virkni viðbót að nota með þemað þitt (eins og þú ættir)? Þú getur krókað þig inn „Thsp_cbp_options_array“ úr einni af skránni viðbætisins þíns líka, á sama hátt og þú gerir það úr function.php skrá þema.

Ekki fara í valinn

Í hvert skipti sem þú bætir við valkostum við þema sem þú þróar þarftu að hafa eitt af meginreglum WordPress – Ákvörðun ekki valkostir – í huga. Það er auðvelt að láta verða af þér og byrja að bæta við notendavalkostum fyrir öll smáatriði sem þemað þitt hefur, en það er engum til góðs. Ég vona að þessi fáu brellur, sérstaklega með því að bæta við viðbótarháðum valkostum, muni hjálpa til við að halda valkostum þemans þíns eins lága og mögulegt er.

Þegar öllu er á botninn hvolft, ef þemað þitt hefur valkosti fyrir hluti eins og hvert landamæri radíósar fyrir hvert einasta frumefni, þá er það ekki þema, það er WYSIWYG ritstjóri og líklega ekki mikill.

Þú kaupir ekki hvítan bol þar sem þú getur umbreytt því í borðdúk með smá áreynslu, þú kaupir það vegna þess að þér líkar „whiteshirtness“ hennar. WordPress þemu ættu að vera svona líka, þau ættu að kynna efni á ákveðinn hátt, ekki reyna að gera allt á allan hátt sem hægt er að hugsa sér. Ef þú ert þemahönnuður er það þitt hlutverk að ganga úr skugga um að væntingar notenda séu það sem þær ættu að vera.

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