Sąveikauja su „WordPress“ temos tinkinimo priemone

  1. 1. „WordPress“ temos tinkinimo priemonės įvadas
  2. 2. Dabar skaitau: Sąveikauja su „WordPress“ temos tinkinimo priemone
  3. 3. „WordPress“ temos tinkinimo priemonės katilinė plokštė
  4. 4. „WordPress“ temos tinkinimo priemonės katilinės išplėtimas
  5. 5. Temos tinkinimo priemonės katilinė plokštė – sąlyginės parinktys, temos vaikams ir papildiniai

„WordPress Theme Customizer“ serijos 1 dalyje minėjau, kad norint bendrauti su „Theme Customizer“ reikia įkelti $ wp_customize objektas, kuris yra WP_Customize_Manager klasė. Norėdami tai padaryti, turite naudoti tinkinti registraciją veiksmo kablys:


add_action ('tinkinti_registrą', 'mano_temos_sudėtinti_registravimą');
funkcija my_theme_customize_register ($ wp_customize) {

// Sąveikaujant su $ wp_customize objektu

}

Šį kodą galite įterpti į temos funkciją „php.php “arba į failą, kuris iš jo įtrauktas.

„Theme Customizer“ elementų (skyrių, nustatymų ir valdiklių) pridėjimas arba pašalinimas

Įkėlę $ wp_customize objektą, kurį galite naudoti bet kuriuo iš jo būdų, kad pridėtumėte, gautumėte ar pašalintumėte jame esančius parametrus, valdiklius ir skyrius (add_setting, get_setting, remove_setting, add_control … gausite tašką).

Taigi, jei norite gauti arba pašalinti skyrius, valdiklis ar nustatymas, viskas, ko jums reikia, yra jo ID. Ši eilutė pašalins skiltį Spalvos (įdėkite ją į mano_theme_customize_register funkciją iš pirmojo kodo fragmento):

$ wp_customize-> remove_section ('spalvos');

Pridedant skyrių, valdiklį ar nustatymą šiek tiek skiriasi, nes tam reikia daugiau parametrų. Aš neisiu čia visų jų dėl dviejų priežasčių:

  1. Tai nėra tikras šios serijos tikslas. Mes sukursime „Theme Customizer“ katilinę, kurią galėsite tiesiog įtraukti į savo temą.
  2. Alexas Mansfieldas jį jau apėmė savo 6000 žodžių pabaisa a Temos pritaikymo priemonės pamoka kad kiekvienas „WordPress“ temos kūrėjas turi perskaityti ir tada perspėti apie tai (jei dar to nepadarėte, eikite skaityti dabar).

Tačiau vis tiek panagrinėsime, kaip naujoje „Temų pritaikymo priemonės“ skiltyje galite pridėti savo nustatymus naudodami valdiklį, taip pat kelis argumentus. Kadangi daug lengviau dirbti su tikrais pavyzdžiais, tai mes einame toliau:

  • Naujas skyrius, pažymėtas „Išdėstymas“
  • Naujas nustatymas, kuriame saugomas jūsų temos išdėstymas
  • Naujas radijo pultelis, turintis dvi galimybes – šoninę juostą kairėje ir šoninę juostą dešinėje

Pirmasis dalykas, kurį reikia pridėti prie temos tinkinimo priemonės, yra skyrius „Išdėstymas“:

$ wp_customize-> add_section (
// ID
'išdėstymo_sekcija',
// Argumentų masyvas
masyvas (
'title' => __ ('Maketas', 'my_theme'),
'capability' => 'edit_theme_options',
'description' => __ ('Leidžia jums redaguoti savo temos išdėstymą.', 'my_theme')
)
);

Dar nebandykite jo matyti tinkinimo priemonėje, skiltis nebus rodoma, nebent joje būtų nustatytas nustatymas ir valdiklis. Taigi pridėkime abu:

$ wp_customize-> add_setting (
// ID
„my_theme_settings [layout_setting]“,
// Argumentų masyvas
masyvas (
'numatytoji' => 'dešinė šoninė juosta',
'type' => 'option'
)
);
$ wp_customize-> add_control (
// ID
'išdėstymo_kontrolė',
// Argumentų masyvas
masyvas (
'type' => 'radio',
'label' => __ ('Temos išdėstymas', 'my_theme'),
'section' => 'layout_section',
'pasirinkimai' => masyvas (
'kairiosios šoninės juostos' => __ ('Kairės šoninės juostos', 'my_theme'),
'dešinė šoninė juosta' => __ ('Dešinė šoninė juosta', 'my_theme')
),
// Šis paskutinis turi atitikti nustatymo ID iš viršaus
'settings' => 'my_theme_settings [layout_setting]'
)
);

Jei manote, kad perskaitėte „Alex“ vadovėlio ir (arba) „Codex“ puslapius, „add_setting“ argumentų masyve yra tik vienas parametras – „tipas“, į kurį norėčiau atkreipti dėmesį. Čia yra dvi galimybės, „parinktis“ ir „tema_mod“, ir jas galite atgauti naudodamiesi gauti pasirinkimą ir „get_theme_mod“, atitinkamai. Aš visada naudoju „parinktį“ vien dėl to, kad ji leidžia jums nuoseklias temos parametrų reikšmes suteikiant jiems tokius ID „my_theme_settings“ [setting_1], „my_theme_settings“ [nustatymas_2] Tokiu būdu visos vertės bus saugomos kaip vienas duomenų bazės įrašas jūsų wp_options lentelėje.

Ir galiausiai, pridėję tuos du kodo fragmentus, kad galėtumėte funkcionuoti, užsikabinote tinkinti registraciją veiksmo kablys (pirmasis kodo fragmentas šiame įraše), temos tinkinimo priemonė buvo pritaikyta:

Naujas skyrius pridėtas prie temos tinkinimo priemonės

Naujas skyrius pridėtas prie temos tinkinimo priemonės

Temos tinkinimo priemonės parametrų verčių naudojimas jūsų temoje

Kai vartotojams suteiksite galimybę išsaugoti šį nustatymą, galėsite įsitraukti į jo vertę kūno_klasė filtruokite kabliuką ir pridėkite jį prie esamų kėbulo klasių:

add_filter ('body_class', 'my_theme_body_classes');
funkcija my_theme_body_classes ($ klasės) {

/ *
* Kadangi argumentų masyve „add_setting“ mes naudojome „parinktį“
* Gauname vertę naudodami funkciją get_option
* /
$ my_theme_settings = get_option ('my_theme_settings');

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

grąžinti $ klases;

}

Tai pridės arba. Kairę, arba. Dešinę, į kūno temos klasių grupę. Naudodami šias dvi klases failo „style.css“ faile, galėsite sukurti du skirtingus išdėstymus. Pavyzdžiui:

/ * Šoninė juosta dešinėje yra numatytasis išdėstymas * /
#turinys {
plūdė: kairė;
plotis: 60%;
}
# šoninė juosta {
plūdė: dešinė;
plotis: 30%;
}

/ * Naudojant .left-sidebar klasę, norint pakeisti numatytąjį išdėstymą * /
.kairioji šoninė juosta #content {
plūdė: dešinė;
}
.kairioji šoninė juosta # šoninė juosta {
plūdė: kairė;
}

Geriausia tai, kad „WordPress Theme Customizer“ dėka vartotojai gali prieš peržiūrėdami abu išdėstymus peržiūrėti bet ką. Paimkite tai, temos nustatymų puslapiai!

Santrauka ir tolesnis skaitymas

TL; DR šio įrašo versija būtų maždaug tokia: Galite gauti $ wp_customize objektą ir tada ką nors pridėti (skyrių, nustatymą ar valdymą) arba pašalinti iš jo. Visa kita priklauso nuo nustatymų parametrų.

Trečiojoje dalyje ši serija tampa įdomi, nes mes pradėsime automatizuoti visą procesą ir dirbti su „Custom Customizer“ katilinės plokšte, kurią galėsite įtraukti į savo temą ir iškart pradėti naudoti. Stebėkite!

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