I denna handledning ska jag visa dig grunderna för att använda plugin för avancerade anpassade fält (ACF). ACF är en ganska stor plugin, så den här artikeln kommer inte att förklara absolut allt det erbjuder, men det borde vara tillräckligt för att komma igång med att lägga till egna metadata och visa den inom ditt tema.
Vid skrivande tid finns det två versioner av ACF: 4 och 5. Denna artikel är baserad på version 4, men bör också gälla om du använder version 5.
Avancerade anpassade fält är ett användargränssnitt för att lägga till egna fält eller metadata till WordPress. Med anpassade fält kan du utöka dina inlägg eller sidor med mer data. Låt oss titta på ett gemensamt scenario:
Du har en posttyp som heter film
och du vill bifoga ett poäng av tio till botten av varje recension, tillsammans med andra data. Nu kan du bara sätta denna information i ditt inlägg, men vad händer om du senare vill använda dessa data på annat sätt? Kanske vill du flytta poängen ovanför din recension; i det här fallet måste du manuellt redigera varje recension och manuellt flytta den här noteringen, inte bra.
WordPress har inbyggda funktioner för att skapa egna fält, men de innehåller bara grundläggande funktionalitet och kräver att fält skapas programmatiskt. ACF har många inbyggda fälttyper, varav några inkluderar:
Förutom att ha inbyggda fält, ger ACF dig ett urval regler som kan användas för att bestämma var fält visas i din WordPress-admin. Det här är verkligen användbart för att hålla ditt administratörsområde så rent som möjligt. Du kan till exempel bara visa en grupp anpassade fält om din posttyp är recensioner
och din sidmall är omfattad recension
.
Innan vi börjar lägga till några fält måste du installera ACF-plugin. För att göra det, gå från WordPress instrumentbrädan till Plugins> Lägg till nytt. Från Lägg till plugin skärm, sök efter Avancerade anpassade fält och klicka Installera. Var noga med att aktivera plugin-om den har installerats korrekt så borde du nu se en Anpassade fält menyn inom din WordPress admin.
Stämmer med temat för en filmgranskningswebbplats, vi kommer att skapa några relevanta fält. För att följa med denna handledning behöver du en anpassad posttyp som heter film
. För att lära dig hur du skapar inläggstyper, gå vidare till den här andra stora Tuts + artikeln. Med detta sagt kommer metoderna som visas här att fungera för många andra typer av anpassade fält, och logiken för att skapa och visa fält kommer att förbli densamma.
Fältgrupper är precis vad de säger: grupper av fält. Använda exemplet att ha en posttyp kallad film
, Vi kanske vill inkludera följande data:
Dessa fält hör logiskt till en grupp, eftersom de alla är relaterade till samma posttyp. Med hjälp av ovanstående fält kan vi börja tänka på vilka fälttyper vi kan behöva för dessa data.
För att börja lägga till en fältgrupp klickar du på Anpassade fält menyn inom din WordPress dashboard. Klicka nu på Lägg till ny knapp. Du kommer nu att presenteras med Lägg till ny fältgrupp skärm. Innan vi gör något annat, låt oss ge vår fältgrupp ett namn genom att skriva in titelfältet - jag har kallat min Filmdata
.
Därefter kan vi lägga till alla våra fält. Klicka på Lägg till fält knappen för att komma igång. Du kommer nu att se ett formulär som har följande fält:
Filmår
, Filmregissör
, etc.Filmår
som en fältetikett skulle bli till movie_year
som ett fältnamn.år
Inmatning vi borde begränsa tecknen till fyra.Dessa fält visas alla för text
fälttyp - på vissa andra fälttyper kan vissa av dessa alternativ inte visas, eller det kan finnas några ytterligare alternativ. Som vi också ska använda siffra
fälttyp, det finns några ytterligare alternativ tillgängliga för oss:
Så här ställer jag in mina fält:
Observera de minsta och maximala värdena här - jag ställer in dessa för att lägga till lite grundläggande validering, eftersom det är osannolikt att vi kommer att få en film äldre än 1900 och en nyare än 2050 under webbplatsens livstid.
Eftersom vi ska formatera vår produktion i vår HTML, vill vi inte att redaktörer kan lägga till HTML här som kan störa vår layout. Därför valdes "ingen formatering" här.
Återigen har vi ett minimum och ett maximalt värde som anges här för att lägga till någon validering; våra poäng är av tio, så vi vill inte att redaktörer ska kunna lägga in en högre poäng än detta. På samma sätt vill vi inte ha några poäng som är lägre än en.
Jag lade till några fältinstruktioner till den här ingången, eftersom det inte finns något URL
fälttyp så det är svårt att validera. Instruktionerna bör göra det enklare för redaktörer att förstå hur man använder fältet.
När du har lagt till alla dina fält måste du klicka på Uppdatering knapp. När du har klickat på det här kommer du att vara tillbaka på Redigera fältgrupp sida. Det finns bara några fler saker vi behöver göra på den här skärmen för att få dina fält att fungera korrekt.
Nedan är fältområdet en ruta som heter Plats-Det här låter oss styra var våra anpassade fält visas. Vi vill bara att våra anpassade fält visar om posttypen är film
. I den första rullgardinsmenyn, välj Posttyp, i den andra rullgardinsmenyn välj är lika med, och i den tredje väljaren film.
Det sista vi behöver göra här är inställt där vårt anpassade fält kommer att visas på redigeringsskärmen. För att göra detta, bläddra ner lite längre till alternativ sektion. Detta gör det möjligt för oss att välja var den anpassade fältmetaboxen ska visas och vilken typ det är och det ger oss möjlighet att dölja andra saker från redigeringsskärmen.
Alternativen är som följer:
Alternativen jag använde är:
Resten var kvar som standard.
Du kan kontrollera att dina fält visas korrekt genom att göra ett nytt inlägg (i detta fall i film
posttyp). Om allt har fungerat bra så kommer du att se din metabox. Nu är det bra att lägga till några testdata.
Nu när du har skapat dina fältgrupper och har några testdata kan du börja visa data inom ditt tema eller barntema.
Du kan använda standardversionen av WordPress get_post_meta ()
fungera med ACF, men det rekommenderas att du använder ACFs egna funktioner, eftersom ACF formaterar värdena beroende på vilken fälttyp du har skapat. Vi ska använda ACF: s fältet()
fungera. Den här funktionen visar ditt anpassade fält och tar en parameter av fältnamnet, till exempel:
Låt oss ta itu med våra metadata. Vi ska ha all denna information i en enda div
.
- :
- :
- : / 10
- "target =" _ blank ">
Denna kod är ganska enkel-vi använder _E
funktion att internationalisera våra strängar och eko dem, och sedan använda ACF fältet()
metod för att eko värdet av det fält vi skapade. Allt detta har placerats i en orörd lista, inuti a div
element med en klass av recensioner-meta
, så vi kan rikta det mot vår CSS.
Så vart går den här koden? I det här fallet är det bäst att skapa en ny mall för din posttyp. För att göra detta, gör en kopia av ditt tema single.php
fil och namnge den enkel postname.php
-i vårat fall enkel movie.php
. Varje single.php
kommer att se annorlunda ut, men de borde alla ha en sak gemensamt: en WordPress-loop. Din WordPress-loop skulle se något ut så här:
Dina anpassade fält kan gå utanför slingan, och exakt var du placerar dem beror på hur du vill att sidan ska se ut. I mitt fall (med hjälp av temat för standard tjugo fjorton) har jag lagt dem precis under slingan och tillämpat några grundläggande styling på .recensioner-meta
CSS klass.
Vi har täckt grunderna i plugin för avancerade anpassade fält. Det vill säga vi har lagt till några fält och visar dem nu på vår webbplats. Det finns dock mycket mer till ACF, och vi har bara repat ytan. Det finns många fler fälttyper du kan använda, liksom mer avancerade funktioner som villkorlig logik.
Vänligen lämna frågor, kommentarer och allmän feedback i formuläret nedan!