Interakcija s programom za prilagajanje tem WordPress

  1. 1. Uvod v program za prilagajanje teme WordPress
  2. 2. Trenutno bere: Interakcija s programom za prilagajanje tem WordPress
  3. 3. WordPress tema za prilagajanje kotlovske plošče
  4. 4. Razširitev kotlovske plošče za prilagajanje teme WordPress
  5. 5. Oprema za prilagajanje tem kotlovske plošče – pogojne možnosti, otroške teme in vtičniki

V prvem delu serije WordPress Theme Customizer sem omenil, da morate za interakcijo s orodjem za prilagajanje tem vstaviti $ wp_prilagodite objekta, ki je primerek WP_Customize_Manager razred. Če želite to narediti, morate uporabiti prilagodite_register akcijski kavelj:


dodajanje ('customize_register', 'my_theme_customize_register');
funkcija my_theme_customize_register ($ wp_customize) {

// Interakcija s predmetom $ wp_customize

}

To kodo lahko postavite v funkcijo teme.php teme ali v datoteko, ki je v njej.

Dodajanje ali odstranjevanje elementov orodja za prilagajanje teme (razdelki, nastavitve in kontrole)

Ko se naložite $ wp_prilagodite predmeta, lahko uporabite katero koli njegovo metodo za dodajanje, pridobivanje ali odstranjevanje nastavitev, kontrolnikov in odsekov v njem (add_setting, get_setting, remove_setting, add_control … dobite točko).

Torej, če želite dobiti ali Odstrani odsek, nadzor ali nastavitev, vse kar potrebujete je ID. Ta vrstica bo odstranila razdelek Barve (postavite ga v funkcijo my_theme_customize_register iz prvega odrezka kode):

$ wp_customize-> remove_section ('barve');

Dodajanje odseka, krmiljenja ali nastavitve je nekoliko drugačno, ker zahteva nekaj več parametrov. Tu jih ne bom šel skozi vsa dva razloga:

  1. To v resnici ni namen tega sklopa, ustvarili bomo tematsko ploščo za prilagajanje tem, ki jo lahko namesto tega vstavite v svojo temo
  2. Alex Mansfield ga je že zajel v svoji 6000 besedni pošasti a Vadnica za prilagajanje tem da mora vsak razvijalec WordPress teme prebrati in o njem tvitniti (resno, če ga še niste, pojdite prebrati zdaj).

Še vedno pa si poglejmo, kako lahko v novem razdelku za prilagajanje tem dodate svoje nastavitve s tipko in nekaj argumentov. Ker je veliko lažje delati s stvarnimi primeri, je opisano:

  • Nov razdelek z oznako »Postavitev«
  • Nova nastavitev, ki shrani postavitev teme
  • Nov radijski nadzor z dvema možnostma – stranska vrstica na levi in ​​stranska vrstica na desni

Prva stvar, ki jo morate dodati orodju za prilagajanje tem, je razdelek »Postavitev«:

$ wp_customize-> add_section (
// ID
'layout_section',
// Argument array
matrika (
'title' => __ ('Postavitev', 'moja_tema'),
'capability' => 'edit_theme_options',
'description' => __ ('Omogoča urejanje postavitve teme.', 'my_theme')
)
);

Ne poskušajte ga še videti v orodju za prilagajanje, razdelek ne bo prikazan, razen če je dodan nastavitev in nadzor. Torej dodajmo oboje:

$ wp_customize-> add_setting (
// ID
'my_theme_settings [layout_setting]',
// Argument array
matrika (
'privzeto' => 'desna stranska vrstica',
'tip' => 'možnost'
)
);
$ wp_customize-> add_control (
// ID
'layout_control',
// Argument array
matrika (
'type' => 'radio',
'label' => __ ('Tema postavitve', 'moja_tema'),
'section' => 'postavitev_sekcije',
'izbire' => matrika (
'left-sidebar' => __ ('Leva stranska vrstica', 'my_theme'),
'right-sidebar' => __ ('Desna stranska vrstica', 'my_theme')
),
// Ta zadnja mora ustrezati ID-ju nastavitve od zgoraj
'settings' => 'my_theme_settings [layout_setting]'
)
);

Ob predpostavki, da ste brali Alexove vadnice in / ali strani Codexa, obstaja samo en parameter v nizu argumentov add_setting – “type”, na katerega se želim osredotočiti. Tu imate dve možnosti, “možnost” in “tema_mod”, in jih lahko pridobite z uporabo get_option in get_theme_mod, oz. Vedno uporabljam ‘možnost’ preprosto zato, ker vam omogoča, da serijsko določite vrednosti nastavitev tem, tako da jim daste ID-je, kot so my_theme_settings [nastavitev_1], my_theme_settings [nastavitev_2] Tako bodo vse vrednosti shranjene kot en vnos v bazo podatkov v tabeli wp_options.

In končno, potem ko ste dodali ta dva odlomka kode, da delujete, v katere ste se priključili prilagodite_register akcijski kavelj (prvi delček kode v tej objavi), prilagajalec teme je prilagojen:

Dodan je nov razdelek za prilagajanje tem

Dodan je nov razdelek za prilagajanje tem

Uporaba vrednosti nastavitev orodja za prilagajanje tem v vaši temi

Ko svojim uporabnikom omogočite shranjevanje te nastavitve, lahko zajamete njeno vrednost in se priklopite body_class kljuko za filtriranje in ga dodajte v niz obstoječih razredov telesa:

add_filter ('body_class', 'my_theme_body_classes');
funkcija my_theme_body_classes ($ class) {

/ *
* Ker smo v matriki argumentov add_setting uporabili 'možnost'
* vrednost dobimo s funkcijo get_option
* /
$ my_theme_settings = get_option ('my_theme_settings');

$ class [] = $ my_theme_settings ['layout_setting'];

vrnite razrede $;

}

To bo dodalo .levo stransko vrstico ali .desno stransko vrstico nizu telesnih razredov v vaši temi. Z uporabo teh dveh razredov v datoteki style.css vaše teme boste lahko ustvarili dve različni postavitvi. Na primer:

/ * Stranska vrstica na desni je privzeta postavitev * /
#content {
plovec: levo;
širina: 60%;
}
#sidebar {
plovec: desno;
širina: 30%;
}

/ * Uporaba razreda leve stranske vrstice za preglasitev privzete postavitve * /
.leva stranska vrstica #content {
plovec: desno;
}
.leva stranska vrstica #sidebar {
plovec: levo;
}

Najboljše od vsega je, da lahko uporabniki WordPress Theme Customizer predogledajo obe postavitvi pred shranjevanjem. Vzemite to, strani z nastavitvami teme!

Povzetek in nadaljnje branje

TL; DR različica te objave bi šla nekako takole: Predmet lahko dobite $ wp_customize in nato dodate nekaj (razdelek, nastavitev ali nadzor) ali odstranite iz njega. Vse ostalo se spušča na nastavitvene parametre.

Tretji del je zanimiv, saj bomo začeli avtomatizirati celoten postopek in delati na tematski napravi za pripravo kotel, ki jo lahko spustiš v svojo temo in začneš takoj uporabljati. Ostani na vezi!

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