Advanced Custom Fields (ACF) Plugin til wordpress: Sådan bruger du ACF
Har du en WordPress hjemmeside, har du sikkert også stødt på pluginet ACF (Advanced Custom fields). Det er et plugin til at oprette felter man kan udfylde når man fx opretter et indlæg. Det er smart hvis man gerne vil holde data hver for sig, og ikke som en del af selve content området.
Men der er også mange andre ting man kan bruge pluginet til. Dog er der ligesom med så meget andet, fordele og ulemper ved at benytte ACF og Custom felter på sin wordpress hjemmeside.

Hvad er ACF (Advanced Custom Fields)?
Advanced Custom Fields (ACF) er et kraftfuldt plugin til WordPress, der giver udviklere mulighed for nemt at tilføje brugerdefinerede felter til indlæg, sider og andre indholdstyper. I stedet for at være begrænset til de standardfelter, som WordPress tilbyder (som titel, indhold og udvalgte billeder), giver ACF dig mulighed for at tilføje ekstra datafelter og skræddersy din WordPress oplevelse til dine specifikke behov. Dette kan være nyttigt i en lang række scenarier – fra at opbygge komplekse porteføljer og produktsider til dynamiske landingssider med tilpassede layouts.
Pluginet er ekstremt brugervenligt, hvilket betyder, at det kan bruges af både udviklere og redaktører uden behov for dyb teknisk forståelse. ACF er fleksibelt og skalerbart og kan håndtere alt fra simple felter til komplekse, dynamiske indholdsløsninger.
Sådan installerer du Advanced Custom Fields
Der findes både en gratis udgave af ACF og en ACF PRO. Jeg bruger personligt altid PRO udgaven, da den har mange flere funktioner og nogle gode ekstra felttyper man kan vælge at bruge. Men til de fleste projekter kan man faktisk godt nøjes med gratis versionen, som du kan finde her, eller ved at gøre sådan:
Trin 1: Log ind på WordPress Dashboard
Gå til din WordPress-hjemmeside og log ind på dashboardet med din administrator-konto.
Trin 2: Gå til “Tilføj Nyt Plugin”
I venstremenuen, naviger til Plugins > Tilføj nyt.
Trin 3: Søg efter “Advanced Custom Fields”
Øverst på siden vil der være en søgelinje. Indtast “Advanced Custom Fields” i søgefeltet.
Trin 4: Installer ACF Plugin
Når du har fundet pluginet i søgeresultaterne (det bør være det første resultat), klik på “Installer nu”.
Trin 5: Aktivér Pluginet
Efter installationen er færdig, vil knappen ændre sig til “Aktivér”. Klik på Aktivér for at begynde at bruge pluginet.
Hvad gør ACF?
Advanced Custom Fields udvider WordPress’ indholdsstyringssystem ved at tilføje brugerdefinerede felter, som giver dig fuld kontrol over de data, du ønsker at indsamle og vise. Pluginet understøtter mange forskellige felttyper, herunder:
- Tekstfelter: Bruges til at indtaste tekstdata som titler eller korte beskrivelser.
- Billedefelter: Bruges til at vælge eller uploade billeder, der kan vises på sider og indlæg.
- URL-felter: Bruges til at indtaste links.
- Datofelter: Tillader brugeren at vælge en dato fra en kalender.
- Relation- og post-felter: Bruges til at oprette relationer mellem indlæg, f.eks. et relateret indlæg eller en anden brugerdefineret indholdstype.
- Repeater-felter: Bruges til at gentage en gruppe af felter, som f.eks. en liste over elementer (perfekt til testimonials, teammedlemmer osv.).
- Flexible Content: Dette felt giver dig mulighed for at opbygge komplekse og fleksible layoutløsninger direkte fra WordPress-backenden.
ACF er en central komponent for udviklere, da det skaber en bro mellem brugerdefinerede datainput og frontend-design, hvilket betyder, at de samme data kan præsenteres på forskellige måder afhængigt af behovene i projektet.
Felttyper tilgængelige i Gratis og PRO:
- Text (Tekst)
- Text Area (Tekstområde)
- Number (Tal)
- Range (Områdevælger)
- URL
- Password
- Image (Billede)
- File (Fil)
- Wysiwyg Editor
- oEmbed
- Gallery (Galleri) – Pro
- Select (Vælg)
- Checkbox
- Radio Button
- Button Group
- True/False
- Link
- Page Link
- Post Object (Indlægspost)
- Relationship (Relation)
- Taxonomy
- User
- Google Map
- Date Picker
- Date Time Picker
- Time Picker
- Color Picker
- Message (Besked)
- Accordion
- Tab
- Group (Gruppe)
- Clone – Pro
- Flexible Content (Fleksibelt Indhold) – Pro
- Repeater – Pro
Fordele og ulemper ved at bruge Advanced Custom Fields
Fordele ved ACF
- Brugervenlighed
ACF er utrolig nemt at bruge, selv for ikke-tekniske brugere. Redaktører kan hurtigt tilføje og redigere brugerdefinerede felter via en intuitiv grænseflade uden at skulle ændre nogen kode. - Fleksibilitet
Pluginet understøtter mange forskellige felttyper, hvilket gør det ideelt til en bred vifte af projekter – fra enkle sider med ekstra informationer til komplekse, dynamiske layouts som porteføljer og produktkataloger. - Udvidelsesmuligheder
Med avancerede felter som repeater-felter og flexible content kan ACF bruges til at skabe avancerede løsninger, der ellers ville kræve mere komplekse tilpasninger af WordPress. - Integration med temaer
ACF gør det let at integrere brugerdefinerede felter i dit tema via enkle PHP-funktioner, hvilket giver udviklere fuld kontrol over, hvordan data vises på frontend. - Aktiv udvikling og support
ACF er et meget populært plugin med en stor brugerbase og aktiv udvikling. Der er masser af dokumentation og eksempler til rådighed, samt support og tutorials, som hjælper med at løse problemer.
Ulemper ved ACF
- Afhænger af et tredjeparts plugin
Ved at bruge ACF tilføjer du en ekstern afhængighed til dit WordPress-site. Hvis ACF på et tidspunkt ikke længere understøttes eller opdateres, kan det skabe problemer med fremtidig kompatibilitet. - Performance
Hvis ACF bruges på meget store websites med mange brugerdefinerede felter, især avancerede felter som repeater-felter eller flexible content, kan det påvirke performance negativt. Hvert ekstra felt øger mængden af databaseforespørgsler, som kan sænke load-tiderne. - Begrænset funktionalitet i den gratis version
Selvom den gratis version af ACF er kraftfuld, mangler den avancerede funktioner som repeater-felter og flexible content, som kun er tilgængelige i Pro-versionen, hvilket kan være en ulempe for udviklere på et stramt budget. - Kodeafhængighed
Selvom ACF gør det nemt at oprette felter i backend, kræver det stadig, at du skriver PHP-kode for at vise felterne på frontend. For brugere uden udviklingserfaring kan dette være en barriere. - Kompleksitet i store projekter
Hvis ACF bruges omfattende i et stort projekt, kan det hurtigt blive komplekst at vedligeholde. At holde styr på mange brugerdefinerede felter og sikre, at de bruges korrekt i koden, kan blive tidskrævende og skabe vedligeholdelsesproblemer i fremtiden.
Sådan bruges ACF
Når du har installeret og aktiveret ACF pluginet i WordPress, kan du begynde at oprette brugerdefinerede felter. Her er de grundlæggende trin til at komme i gang:
- Opret en feltgruppe: Naviger til Custom Fields > Add New i WordPress adminpanelet. Navngiv din gruppe af felter, f.eks. “Produktinformation” for et e-handelsprojekt.
- Tilføj felter til din gruppe: For hvert felt kan du vælge en type (tekst, billede, URL osv.) og give det en titel, som vil blive vist i WordPress-backenden. Eksempelvis kan du tilføje felter som “Produktnavn”, “Pris”, og “Beskrivelse”.
- Definer, hvor felterne skal vises: Under “Location” kan du vælge, hvilke sider, indlæg eller posttyper der skal bruge disse felter. Du kan også angive betingelser, som f.eks. at felterne kun skal vises på specifikke kategorier eller brugerdefinerede posttyper.
- Konfiguration af feltets indstillinger: Du kan yderligere konfigurere felterne, f.eks. gøre dem påkrævet, definere standardværdier eller tilføje conditional logic, så nogle felter kun vises, hvis bestemte betingelser er opfyldt.
- Gem feltgruppen: Når du er færdig med at opsætte felterne, gemmer du feltgruppen. Felterne vil nu være tilgængelige i editoren, når du opretter eller redigerer sider eller indlæg.
Implementering af felter i temaet
Når du har oprettet dine felter i ACF, skal du integrere dem i dit tema, så de vises korrekt på frontend. Dette gøres ved hjælp af enkle PHP-funktioner, der henter dataene fra dine felter.
Simpel tekstfelt implementering
Lad os sige, at du har oprettet et brugerdefineret tekstfelt kaldet custom_tekst_felt. For at vise værdien af dette felt på frontend, kan du bruge følgende kode:
<?php if( get_field('custom_tekst_felt') ): ?>
<p><?php the_field('custom_tekst_felt'); ?></p>
<?php endif; ?>
Denne kode tjekker først, om feltet er udfyldt. Hvis det er tilfældet, vises indholdet af feltet inden for et afsnit (<p>
). Dette er en simpel måde at implementere brugerdefinerede felter på.
Billedefelt implementering
Billedefelter kræver lidt mere kode, da vi skal hente billedets URL og eventuelt yderligere informationer som alt-tekst eller billedstørrelse. Her er et eksempel på, hvordan du kan implementere et billedefelt:
<?php
$image = get_field('custom_billede_felt');
if( $image ): ?>
<img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_attr($image['alt']); ?>" />
<?php endif; ?>
Denne kode henter billedet fra feltet og viser det på siden. Vi bruger funktionerne esc_url()
og esc_attr()
for at sikre, at billedets URL og alt-tekst er korrekt sikret mod eventuelle sikkerhedsrisici.
Repeater-felt implementering
Repeater-felter er et kraftfuldt værktøj til at håndtere gentagne grupper af data. For eksempel, hvis du opretter et felt for at tilføje testimonials eller teammedlemmer, kan repeater-feltet lade dig oprette flere poster i backend. Her er et eksempel på, hvordan du implementerer et repeater-felt:
<?php if( have_rows('repeater_felt_navn') ): ?>
<ul>
<?php while( have_rows('repeater_felt_navn') ): the_row(); ?>
<li>
<h2><?php the_sub_field('navn'); ?></h2>
<p><?php the_sub_field('beskrivelse'); ?></p>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
I dette eksempel vil feltet vise en liste over teammedlemmer, hvor hvert medlem har et navn og en stillingsbetegnelse. Dette gør det muligt for redaktører at tilføje eller fjerne medlemmer uden at skulle ændre temaets kode.
Flexible Content implementering
Flexible Content-feltet giver endnu mere frihed, da det lader brugerne opbygge layouts ved at tilføje og organisere forskellige felttyper. Her er et eksempel på, hvordan man kan bruge Flexible Content til at opbygge forskellige layoutblokke:
<?php if( have_rows('flexible_indholds_felt') ): ?>
<?php while( have_rows('flexible_indholds_felt') ): the_row(); ?>
<?php if( get_row_layout() == 'text_block' ): ?>
<div class="text-block">
<h2><?php the_sub_field('heading'); ?></h2>
<p><?php the_sub_field('text'); ?></p>
</div>
<?php elseif( get_row_layout() == 'image_block' ): ?>
<div class="image-block">
<?php $image = get_sub_field('image'); ?>
<img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_attr($image['alt']); ?>" />
</div>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
I dette eksempel kan brugeren tilføje enten tekstblokke eller billedblokke og arrangere dem i den rækkefølge, der passer til deres behov. Dette giver en stor grad af fleksibilitet i at opbygge dynamiske sider uden at skulle tilføje ny kode hver gang.
Afsluttende ord
Advanced Custom Fields (ACF) er et kraftfuldt værktøj til WordPress-udviklere, der ønsker mere kontrol over, hvordan data struktureres og vises på deres hjemmesider. Ved hjælp af de brugerdefinerede felter kan du skabe skræddersyede indholdsløsninger, der er nemme at administrere for redaktører og indholdsskabere. Uanset om du arbejder med simple tekstfelter eller komplekse layouts med repeater- og flexible content-felter, giver ACF dig de værktøjer, du har brug for til at tage din WordPress-udvikling til det næste niveau.