Skapa egna post-typer i kommande WordPress 3.0

Det känns som att de flesta borde vara medvetna om att kommande WordPress versionen 3.0 lurar bakom hörnet. Vad jag hört är, var?, releasen satt till 1maj (där omkring), men det beror väl kanske lite på hur beta versionen tas emot.
Beta1 kom ut 3 april och som så många andra var jag snabb med att ladda ner den för att se hur framtiden kommer se ut. Det såg exakt ut som det gör idag :P *hahahah*

Skämt åsido, det kommer några riktigt användbara finesser i 3.0, några fler för andra, som mig själv som håller på med ett större projekt där jag hittills använt WordPress MU.

Största nyheterna:

  • Nya meny-system eller meny administrering
  • förbättrad egna post-typer
  • anpassad ”taxonomy”, taggar/kategorier [för exempelvis egna post-typerna]
  • nytt standard tema, Twenty Ten”. [gamla Kubrick och Classic borttaget ]
  • förbättrad support för child-themes
  • WordPress och WordPress MU kodbas slåss ihop
  • skapa Network - vad förut var MU [multiuser/blog sajt]

Det finns såklart massor mer nya saker i kommande större uppgraderingen av WP, och du kan läsa om alla i Codexen.
Personligen ser jag framemot att WP och WP-MU slåss ihop, det borde betyda att fler plugins kommer fungera på ”båda” systemen och allt blir mer enhetligt [i bakgrunden, utseende har de redan samma].

En annan sak som jag nu tycker är väldigt, väldigt spännande och bra är de egna post-typerna man kan skapa. Spenderade dagen igår med att leka runt i lite betan, och fastnade till största delen på just detta ämne.
I wordpress idag finns det två post-typer, poster [posts] och sidor [pages]. Detta är i många fall väldigt begränsande, speciellt för människor som inte är så data kunniga, som så många kunder är. Man vill gärna göra så lätta system som möjligt och det har hittills varit svårt med WordPress, även om man kunnat skapa egna fält i post administrationen.
Allt detta ändras nu i och med egna post-typer och det bästa av allt, som vanligt med WP, det är bus enkelt att göra.

Är du beredd?!!

 <?php register_post_type( $post_type, $args ) ?>

Det var så enkelt! Ja okej, det finns lite mer att lägga till, jag förklarar.

$post_type = en sträng med den posttypen du vill skapa [t.ex. "podcast"]
$args = ”inställningar” för posten [hela listan på argument]
Så i din functions.php kan du lägga in följande:

<?php 

add_action('init', 'my_custom_init');
function my_custom_init() {
 $args = array(
 'label' => __('Podcasts'),
 'singular_label' => __('Podcast'),
 'public' => true,
 'show_ui' => true,
 'capability_type' => 'page',
 'supports' => array('title', 'thumbnail')
 );

 register_post_type( 'podcast' , $args );
}

?> 

Här lägger vi först till en action i WP’s init funktion, vid namn my_custom_init, och sedan skapar vi funktionen.
Label, är det namn som kommer synas i höger menyn i admin-gränssnittet, singular_label är ganska uppenbart. Public gör att denna typ av poster syns i admin gränssnittet, medan show_ui visar eller döljer meny alternativet.
Har inte riktigt förstått tanken bakom varför man vill visa den i menyn men inget är tillgängligt, speciellt när public default är satt till false?, men man skulle väl exempelvis kunna sätta egna restriktioner på vem som kan få se och skriva poster?!
Capability_type sätter vilken post typ man utgår ifrån för att sätta läs-skriv-tabort rättigheter, default är ”post”.
Den kanske intressantaste valet är det sista, supports, som sätter vilka editerings möjligheter det finns för posten. De val man har är:

  • ‘title’
  • ‘editor’ (innehåll)
  • ‘author’
  • ‘thumbnail’
  • ‘excerpts’
  • ‘trackbacks’
  • ‘custom-fields’
  • ‘comments’
  • ‘revisions’
  • ‘page-attributes’ (förälder, template, och meny sortering)

Dessa är så klart de standard boxar som finns för en post och man kan ta bort alla eller några som man själv vill, i exemplet ovan skulle man kunna fylla i en titel och sätta thumbnail till posten.
Till sist använder vi funktionen från tidigare som registrerar och skapar den nya post-typen .

Tänk er nu att ni har en kund som inte är så tekniskt kunnig, och ni skapar en wordpress sajt till dem där de kan lägga upp bland annat sina podcaster. Vilket skulle vara enklare att förklara hur man gör?
Att man ska skapa en ny post, och skapa egna fält med det och det namnet, klistra in adressen till podcasten och så vidare. Eller skapa en egen post-typ som ovan, med endast en ruta där denna behöver skriva in adressen till sin podcasten alternativt att ni till och med skapat eget fält där han/hon laddar upp filen och det är klart.

En kort introduktion till anpassade post-typer, det finns dock mer inom ämnet att utforska och gå igenom. Funderar på en del 2, får se hur denna artikel tas emot först…!

 

Tags: ,

Comments: 2

Leave a reply »

 
  • [...] creating custom post types in the upcoming WordPress 3.0. If your swedish is somewhat okey, you can read the article over at my swedish blog or try the google translated version (the grammar sucks but [...]

     
     
     
  • [...] This post was mentioned on Twitter by Lauhakari Mikko. Lauhakari Mikko said: Skapa egna post-typer i kommande WordPress 3.0 | lauhakari.se : http://is.gd/bCcjN [...]

     
     
     
  • Leave a Reply
     
    Your gravatar
    Your Name