I den här guiden ska jag gå igenom vad Egna fält, eller Custom fields, är för någonting och vad man kan använda det till. Egna fält är en sådan funktion i WordPress som går att använda till 100-tals olika saker och det är hela finessen med det. Pluginet All In One SEO använder det t ex. för att spara en beskrivning och nyckelord för att sedan skriva ut dem som META-taggar på inläggen medan designskolan.net har det till ingress och thumbnail till inläggen.

Vad är ett eget fält?

Under inlägget hittar du en ruta med titeln egna fält. Du kan där fylla i ett namn och ett värde på ditt fält.

egna fält

Fördelen med Egna fält

Den stora fördelen med egna fält är att du kan dela upp informationen/inlägget i olika delar och endast hämta de där de behövs. Ett bra exempel kan vara en faktaruta. Finns det en faktaruta till inlägget hämtas den och skrivs ut där du vill ha den, men finns den inte så kommer den inte att skrivas ut.

Jag har själv valt att dela upp mina inlägg i tre delar: inlägget, tumnageln och ingressen. Detta gör att ifall jag får för mig att göra om designen har jag inte en massa inlägg jag måste formatera om för att få det snyggt. Mer om hur man gör detta nu!

Dela upp inlägget och ingressen

För att visa hur detta fungerar ska jag visa hur man gör för att dela upp inlägget genom att lägga ingressen i ett eget fält.

Lägg till fältet

Gå ner till Egna fält och sätt namnet till ingress och fyll värdet med valfri text. Klicka på lägg till fält. Nu blinkar det till, och så är det klart!

Ändra i din template

Nu kommer vi till det finurliga. Det är ett par rader du måste lägga till där du vill ha ditt fält. Vi ska såklart lägga till ingressen över själva inlägget i single.php

Leta upp raden:

<?php while (have_posts()) : the_post(); ?>

Och skriv följande under den:

<?php $ingress = get_post_meta($post->ID, 'ingress', $single = true); ?>

Det vi har gjort nu är att hämta informationen från ingress, dvs. den text du skrev, och lagt in den i en php-variabel vid namn $ingress.

Skriv ut din ingress

För att sedan skriva ut ingressen före inlägget(the_content()) gör du följande:

 // En if-sats ser till att $ingress endast skrivs ut du fyllt i en ingress!
<?php if($ingress !== '') { echo $ingress }; ?>
<?php the_content('more...); ?>

Förenklar designbyten

Istället för att ha ingressen och kanske en thumbnail inbakat i inlägget är det som sagt en storfördel att ha dem för sig själva. Eftersom du nu har en liten, oformaterad textbit kan du lägga in den där du behagar. Samma sak kan du göra med en bild. Skapa ett eget fält med namnet thumbnail och som värde sätter du sökvägen till bilden. Exempelvis kan det se ut såhär:

// Hämtar dina egna fält
<?php $ingress = get_post_meta($post->ID, 'ingress', $single = true); ?>
<?php $thumbnail = get_post_meta($post->ID, 'thumbnail', $single = true); ?>

// Skriver ut din bild i en div
<div class="bild"><img src="<? echo $thumbnail  ?>" </p></div>

// Skriver ut ingressen innanför en div och en paragraf
<div class="ingress"><p><?php  echo $ingress ?></p></div>

// Själva inlägget
<?php the_content('more...'); ?>

Integrera med alla andra WP-funktioner

Om du tänker efter finns det väldigt mycket du kan göra med tanke på alla olika funktioner som WordPress tillhandahåller. Om du har, som jag, en thumbnail till varje inlägg är det väldigt enkelt att länka bilden till inläggen och ge dem samma title som inläggen. Detta görs alltså på automatik och det enda jag behöver göra är att fylla i bildens sökväg i ett eget fält.

Egna fält i själva inlägget

Vill du t ex. ha en faktaruta i själva inlägget måste du ladda ner en plugin som låter dig köra php i inläggen. För detta finns Exec-PHP.