I denne opplæringen skal jeg vise deg grunnleggende om å bruke pluginet Advanced Custom Fields (ACF). ACF er en ganske stor plugin, så denne artikkelen vil ikke forklare absolutt alt det tilbyr, men det bør være nok til å komme i gang med å legge til dine egne metadata og vise det innenfor temaet ditt.
Ved skriving er det to versjoner av ACF: 4 og 5. Denne artikkelen er basert på versjon 4, men bør også gjelde hvis du bruker versjon 5.
Avanserte egendefinerte felt er et brukergrensesnitt for å legge til egendefinerte felt eller metadata til WordPress. Egendefinerte felt lar deg forlenge dine innlegg eller sider med flere data. La oss se på et vanlig scenario:
Du har en posttype som heter film
og du vil legge ved en score på ti til bunnen av hver av dine anmeldelser, sammen med andre data. Nå kan du bare sette disse dataene i innlegget ditt, men hva om du senere vil bruke disse dataene på en annen måte? Kanskje du vil flytte poenget over anmeldelsen din; i dette tilfellet må du manuelt redigere hver anmeldelse og manuelt flytte denne poengsummen, ikke bra.
WordPress har innebygde funksjoner for å lage egendefinerte felt, men de inneholder bare grunnleggende funksjonalitet og krever at felt skal opprettes programatisk. ACF har mange innebygde felttyper, hvorav noen inkluderer:
I tillegg til å ha innebygde felt, gir ACF deg et utvalg av regler som kan brukes til å bestemme hvor felt vises i WordPress admin. Dette er veldig nyttig for å holde adminområdet ditt så rent som mulig. For eksempel kan du bare vise en gruppe egendefinerte felt hvis posttypen din er anmeldelser
og sidemalen din er kjennetegnet gjennomgang
.
Før vi begynner å legge til noen felt, må du installere ACF-plugin. For å gjøre det, gå fra WordPress dashbord til Plugins> Legg til nytt. Fra Legg til plugin skjerm, søk etter Avanserte egendefinerte felt og klikk Installere. Pass på å aktivere plugin-hvis den er installert riktig, så bør du nå se en Egendefinerte felt menyen i WordPress admin.
Stikker med temaet for en film gjennomgang nettsted, vi skal lage noen relevante felt. For å følge med denne opplæringen, trenger du en egendefinert posttype som heter film
. For å lære å lage posttyper, gå over til denne andre flotte Tuts + artikkelen. Når det er sagt, vil metodene som vises her, fungere for mange andre typer tilpasset felt, og logikken for å lage og vise felt vil forbli den samme.
Feltgrupper er akkurat det de sier: grupper av felt. Brukes eksempelet på å ha en posttype kalt film
, Vi vil kanskje inkludere følgende data:
Disse feltene tilhører logisk en gruppe, da de alle er relatert til samme posttype. Ved å bruke feltene ovenfor kan vi begynne å tenke på hvilke felttyper vi kanskje trenger for disse dataene.
For å begynne å legge til en feltgruppe, klikk på Egendefinerte felt menyen i WordPress dashboard. Klikk nå på Legg til ny knapp. Du vil nå bli presentert med Legg til ny feltgruppe skjerm. Før vi gjør noe annet, la oss gi vår feltgruppe et navn ved å skrive inn tittelboksen-jeg har kalt min Filmdata
.
Deretter kan vi legge til alle våre felt. Klikk på Legg til felt knappen for å komme i gang. Du vil nå se et skjema som har følgende felt:
Filmår
, Film direktør
, etc.Filmår
som et feltetikett ville bli til movie_year
som et feltnavn.år
input vi burde begrense tegnene til fire.Disse feltene vises alle for tekst
felttype - på noen andre felttyper, kan noen av disse alternativene ikke vises, eller det kan være noen ekstra alternativer. Som vi også skal bruke Nummer
Feltype, det er noen ekstra alternativer tilgjengelig for oss:
Slik setter jeg opp feltene mine:
Legg merke til minimums- og maksimumverdiene her - jeg angir disse for å legge til noen svært grunnleggende validering, da det er usannsynlig at vi vil ha en film eldre enn 1900 og en nyere enn 2050 i nettstedets levetid.
Siden vi skal formatere vår produksjon i HTML, ønsker vi ikke at redaktører skal kunne legge til HTML her som kan forstyrre vårt layout. Derfor ble "ingen formatering" valgt her.
Igjen, vi har et minimum og en maksimumsverdi satt her for å legge til noen validering; Våre poeng er ut av ti, så vi ønsker ikke at redaktører skal kunne sette inn en høyere score enn dette. På samme måte ønsker vi ikke å sette inn noen score som er lavere enn en.
Jeg har lagt til noen feltinstruksjoner til denne inngangen, fordi det ikke er noe URL
Feltype, så det er vanskelig å validere. Instruksjonene skal gjøre det lettere for redaktører å forstå hvordan man bruker feltet.
Når du har lagt til alle feltene dine, må du klikke på Oppdater knapp. Når du har klikket på dette, vil du være tilbake på Rediger feltgruppe side. Det er bare noen få flere ting vi må gjøre på denne skjermen for å få feltene dine til å fungere riktig.
Under feltet området er en boks kalt plassering-Dette tillater oss å kontrollere hvor våre tilpassede felt vises. Vi vil bare ha våre egendefinerte felt for å vise om posttypen er film
. I den første rullegardinmenyen, velg Post Type, i den andre rullegardinmenyen velg er lik, og i den tredje velg film.
Det siste vi må gjøre her er satt der vårt tilpassede felt vil vises på redigeringsskjermen. For å gjøre dette, bla ned litt lenger til alternativer seksjon. Dette gjør det mulig for oss å velge hvor tilpasset feltmetaboks skal vises og hvilken type det er, og det gir oss muligheten til å skjule andre ting fra redigeringsskjermen.
Alternativene er som følger:
Alternativene jeg brukte er:
Resten ble etterlatt som standard.
Du kan kontrollere at feltene dine vises riktig ved å lage et nytt innlegg (i dette tilfellet i film
posttype). Hvis alt har fungert bra så vil du se metaboxen din. Nå er det en god tid å legge til noen testdata.
Nå som du har opprettet dine feltgrupper og har noen testdata, kan du begynne å vise dataene i temaet eller barnet ditt.
Du kan bruke standard WordPress get_post_meta ()
Fungerer med ACF, men det anbefales at du bruker ACFs egne funksjoner, da ACF formaterer verdiene avhengig av hvilken feltype du har opprettet. Vi skal bruke ACFs feltet()
funksjon. Denne funksjonen viser ditt eget felt og tar en parameter av feltnavnet, for eksempel:
La oss takle våre metadata. Vi skal ha all denne informasjonen i en enkelt div
.
- :
- :
- : / 10
- "target =" _ blank ">
Denne koden er ganske enkel - vi bruker _E
fungere for å internasjonalisere strenger og ekko dem, og deretter bruke ACF feltet()
metode for å ekko verdien av feltet vi opprettet. Alt dette har blitt satt inn i en uordnet liste, inne i a div
element med en klasse av anmeldelser-meta
, så vi kan målrette den med vårt CSS.
Så hvor går denne koden? I dette tilfellet er det best å lage en ny mal for posttypen din. For å gjøre dette, ta en kopi av temaet ditt single.php
fil og navn den single-postname.php
-i vårt tilfelle single-movie.php
. Hver single.php
vil se annerledes ut, men de burde alle ha en ting til felles: en WordPress-loop. Din WordPress-løkke bør se slik ut:
Dine egendefinerte felt kan gå utenfor løkken, og akkurat der du plasserer dem, avhenger av hvordan du vil at siden skal se ut. I mitt tilfelle (ved å bruke standard Twenty Fourteen-temaet), har jeg satt dem like under løkken og brukt noen grunnleggende styling til .anmeldelser-meta
CSS klasse.
Vi har dekket grunnleggende om pluginet for avanserte egendefinerte felt. Det vil si, vi har lagt til noen felt og viser dem nå på nettstedet vårt. Det er mye mer til ACF, skjønt, og vi har nettopp riper overflaten. Det er mange flere felttyper du kan bruke, samt mer avanserte funksjoner som betinget logikk.
Ta gjerne spørsmål, kommentarer og generell tilbakemelding på skjemaet nedenfor!