Lav Custom Post Type til WordPress

I denne guide vil jeg vise, hvordan du kan lave din egen Custom Post Type til WordPress. Dette kan du bruge til at lave et plugin, som laver en ny type. 

Du har sikkert lagt mærke til at du i WordPress både har muligheden for at skrive et indlæg som et “indlæg” og som en “side”. Forskellen vil jeg ikke komme ind på her, men det kan være anvendeligt, hvis du for eksempel vil lave et plugin, der skal kunne skrive opskrifter, som skal formateres på en bestemt måde.

Det kan måske være anvendeligt at læse begynderartiklen til at lave dine egne plugins til WordPress, hvis du ikke har prøvet det før.

Registrer ny custom post type

For at registrere en ny custom post type med navnet “Opskrifter” skriver du koden:

function opskrift_custom_post_type() {
 register_post_type( 'opskrift', array( 'public' => true, 'label' => 'Opskrifter' ) );
}
add_action( 'init', 'opskrift_custom_post_type' );

Først laves en ny funktion, som har fået navnet opskrift_custom_post_type. I denne anvendes WP-funktionen register_post_type, der netop kan registrere en ny custom post type. Parametrene til denne er først et slug til den nye post type og herefter et array af forskellige indstillinger. Her findes der mange at vælge imellem, men du kan blandt andet se at den har fået titlen “Opskrifter”. add_action indlæser så funktionen.

Hvis du gemmer koden til dit plugin, og aktiverer det, vil du nu se der er kommet en ny custom post type i toppen hvor der står “Tilføj”. Tag dig ikke af at der står mange ting på billedet nedenunder, det er fordi jeg her har testet flere plugins med custom post types.

Herudover er der også kommet et punkt i menuen der hedder “Opskrifter” og hvor du nu kan tilføje en ny opskrift.

Når du trykker her kommer du til et billede, der minder om det billede hvor du kan skrive nye indlæg.

Og når du trykker på “Tilføj nyt” kommer der også et billede hvor du kan skrive nye opskrifter.

Flyt menupunkt

Hvis du ikke vil have dit eget menupunkt, men vil have flyttet “Opskrifter” op under indlæg, bruger du nedenstående kode i stedet:

register_post_type( 'opskrifter',
 array(
 'labels' => array(
 'name' => __( 'Opskrifter' ),
 'singular_name' => __( 'Opskrift' )
 ),
 'public' => true,
 'has_archive' => true,
 'show_in_menu' => 'edit.php'
 )
);

Bemærk at jeg her har angivet flere parametre under array, for at komme med flere indstillinger for den nye custom post type. Jeg har her angivet et navn i flertal, et i ental og under “show_in_menu” har jeg angivet at menupunktet skal ligge under indlæg. Det er nemlig indlæg der styres fra edit.php. Det ser således ud:

Jeg kunne også her have angivet ID’et for et custom menupunkt som jeg havde registreret i forbindelse med et nyt plugin, men det bliver i en anden artikel at jeg vil vise hvordan man gør det.

Det var lidt om hvordan du registrerede en ny custom post type til WordPress, når du udvikler nye plugins. Hvis du har nogle spørgsmål er du velkommen til at skrive dem nedenunder.

Skriv et svar