100 likes | 288 Views
Anpassade inläggstyper för att hantera site- eller temaspecifikt innehåll Posttyper som finns i WordPress som standard är bl.a. inlägg, sidor och bilagor. CUSTOM POST TYPES. CUSTOM POST TYPES. Exempel på användningsområden Eventkalender Portfolio Bokrecensioner. CUSTOM TAXONOMIES.
E N D
Anpassade inläggstyper för att hantera site- eller temaspecifikt innehåll Posttyper som finns i WordPress som standard är bl.a. inlägg, sidor och bilagor. CUSTOM POST TYPES
CUSTOM POST TYPES Exempel på användningsområden Eventkalender Portfolio Bokrecensioner
CUSTOM TAXONOMIES Anpassad kategorisering av innehåll Taxanomier som finns i WordPress som standard är kategorier, länkkategorier och taggar.
Exempel på användningsområden Plats till eventkalender Typ av uppdrag till portfolio Författare och genre till bokrecensioner CUSTOM TAXONOMIES
KODEXEMPEL För att skapa inläggstypen ”arbetsprov” skriver vi in denna kod i functions.php add_action('init', 'create_posttype_arbetsprov'); function create_posttype_arbetsprov() { $labels = array( 'name' => __('Arbetsprover'), 'singular_name' => __('Arbetsprov') ); $args = array( 'labels' => $labels, 'public' => true, 'supports' => array('title','editor','thumbnail','excerpt') ); register_post_type('arbetsprov',$args); } http://pastebin.com/GmCQkxrw
Vi har nu en sektion i administratörsgränssnittet där vi kan hantera våra arbetsprover på samma sätt som med blogginlägg
KODEXEMPEL För att skapa taxonomin ”uppdragstyp” (som endast ska gå att använda på vår nya posttyp) skriver vi in denna kod i functions.php add_action('init', 'create_taxonomy_uppdragstyp'); functioncreate_taxonomy_uppdragstyp() { $labels = array( 'name' => __('Uppdragstyper'), 'singular_name' => __('Uppdragstyp') ); register_taxonomy( 'uppdragstyp', 'arbetsprov', array( 'hierarchical' => false, 'labels' => $labels, 'update_count_callback' => '_update_post_term_count' )); } http://pastebin.com/u6tAa1Ej
Nu har vi möjlighet att ”tagga” vår nya posttyppå samma sätt som med vanliga taggar men separerat från blogginläggen:
KODEXEMPEL En loop för att hämta de 10 senaste inläggen av typen ”arbetsprov” kan se ut så här: <?php $arbetsprov = new WP_Query( array( 'post_type' => 'arbetsprov', 'posts_per_page' => 10 )); ?> <?phpif($arbetsprov->have_posts()) : ?> <?phpwhile($arbetsprov->have_posts()) : $arbetsprov->the_post(); ?> <?phpendwhile; ?> <?phpendif; wp_reset_query; ?> • TIPS: • Uppdatera permalänksinställningarna i admin för att försäkra att de nya posttyperna och taxonomiernavisas korrekt på sidan. http://pastebin.com/iRYXEpbm
VÅR KOD SOM PLUGIN För att inte vara beroende av vårt tema kan vi istället för att arbeta i function.php skapa en plugin med vår kod. <?php /* Plugin Name: Arbetsprover och uppdragstyper */ ?> Skapa en php-fil och lägg högst upp i filen in denna kod: • Detta gör att WordPress identifierar filen som en plugin och du kan • aktivera den i admin. Flytta sedan koden från functions.php som skapar den nya posttypen och taxonomin till din plugin-fil, döp filen till tex. arbetsprover.php och ladda upp i din plugins-mapp. Nu kan du aktivera din nya plugin i admin!