I denne korte opplæringen ser vi på WordPress-kroppsklassen, og hvordan vi kan manipulere den ved hjelp av API-anrop i kjernen.
Nærmere bestemt dekker vi å legge til kroppsklasser, fjerne kroppsklasser, betinget legge til kroppsklasser og noen brukstilfeller.
De kropp
klassen i WordPress er en klasse eller serie av klasser som brukes på HTML-kroppselementet. Dette er nyttig for å bruke unike stiler til forskjellige områder av et WordPress-område som kropp
klasser kan legges betinget.
WordPress inneholder en rekke standardlegemerklasser som er dekket i denne artikkelen.
Det er noen tilgjengelige metoder for å legge til nye kroppsklasser innen WordPress. Denne opplæringen skal dekke å legge til kroppsklassen innenfor et tema (vanligvis definert i header.php
) bruker body_class
funksjon og legge til klasser ved hjelp av et filter.
Dette er en veldig enkel måte å legge til kroppsklasser og er spesielt nyttig hvis du lager et tema. Kroppsklassen er normalt inkludert i et tema ved å bruke følgende kode:
>
For å legge til din egen klasse til dette, kan du sende et argument til funksjonen, slik som:
>
Dette vil legge til en kroppsklasse av klassen min
på hver side på ditt WordPress-nettsted.
Det kan være ganger når du vil legge til mer enn én kroppsklasse. Dette kan oppnås ved hjelp av en enkel rekkefølge:
>
Dette tar alle klassene i matrisen, og overfører dem til body_class
funksjon.
Du vil kanskje også legge til en kroppsklasse betinget. Dette er enkelt med noen enkle PHP. Dette eksemplet bruker WooCommerce betinget metode for is_shop ()
:
Merk: WooCommerce legger allerede til en klasse basert på dette, så merk at dette bare er et eksempel.
Hva den ovennevnte koden gjør, er å kontrollere at den første funksjonen er tilbake sann, hvis den er sant da kroppsklassen har er-woocommerce-shop
lagt til det; Ellers, hvis det ikke er sant, vises bare standard kroppsklasse.
Det er mulig å bruke et WordPress-filter for å legge til en kroppsklasse også. Denne metoden holder temakoden renere og er spesielt nyttig hvis du vil legge til en kroppsklasse fra et plugin. Denne koden kan enten gå i temaene dine functions.php
eller i pluginet ditt.
add_filter ('body_class', 'my_body_classes'); funksjon my_body_classes ($ klasser) $ classes [] = 'class-name'; returner $ klasser;
Dette legger til en klasse (eller klasser, avhengig av implementeringen din) til matrisen og returnerer dem.
For å legge til flere klasser i filteret, legg bare til en annen linje som legger til en annen verdi i arrayet:
add_filter ('body_class', 'my_body_classes'); funksjon my_body_classes ($ klasser) $ classes [] = 'class-name'; $ klasser [] = 'klassenavn-to'; returner $ klasser;
Betingelser kan også brukes i et filter. Med samme eksempel som vi brukte tidligere, kan vi oppnå samme effekt:
add_filter ('body_class', 'my_body_classes'); funksjon my_body_classes ($ klasser) if (is_shop ()) $ classes [] = 'class-name'; $ klasser [] = 'klassenavn-to'; returner $ klasser;
Som standard legger WordPress til en kroppsklasse for sidemalen din, men hvis du er en front-end-utvikler og har navngivningskonvensjoner for ditt CSS, kan det hende du vil endre dette.
Som et eksempel vil en sidemaler som heter "halvhalvdel" ha en kroppsklasse av side-mal-side-halfhalf-php
- ikke bra.
Så la oss legge til en ny klasse, ved hjelp av et filter og et WordPress betinget tag:
add_filter ('body_class', 'halfhalf_body_class'); funksjon halfhalf_body_class ($ klasser) if (is_page_template ('page-halfhalf.php')) $ classes [] = 'halvhalv-side'; returner $ klasser;
Dette vil legge til kroppsklassen halfhalf-side
hvis sidemalen er side-halfhalf.php
.
Det er lite sannsynlig at du vil fjerne en kroppsklasse, da du ikke er tvunget til å bruke dem, og de legger svært lite til din oppføring. Når det er sagt, er det mulig å gjøre dette ved å bruke det samme body_class
filter.
add_filter ('body_class', 'adjust_body_class'); Funksjon adjust_body_class ($ classes) foreach ($ klasser som $ key => $ verdi) hvis ($ verdi == 'woocommerce-side') unset ($ classes [$ key]); returner $ klasser;
Kreditt: Denne koden er endret fra denne artikkelen.
I dette eksemplet løser vi gjennom klassen av klassenavn, og deaktiverer klassenavnet woocommerce-side
hvis den eksisterer, og deretter tilbake klassene, minus noen som ble fjernet.
I denne lille opplæringen har vi dekket to metoder for å legge til WordPress kroppsklasse:
body_class
fungere innenfor et tema,Vi har også dekket å legge til kroppsklasser betinget og fjerne klasser, bør du noensinne trenge å gjøre i fremtidig utvikling.