Nu har jag jobbat med custom post types när jag satt ihop den nya designen för Tolfesbo och jag tänkte att jag skulle gå igenom vad jag har lärt mig så du kan komma igång du också.Custom post types är ett ganska kul sätt att utveckla wordpress istället för att jobba med att filtrera ut poster för olika ändamål och när man väl kommer in i det så är det ganska enkelt att jobba med. Det är två steg man behöver ta, nämligen att registrera den nya posttypen och sedan att få ut posterna från den typen i templates.Att registrera en custom post type gör man enklast genom att modifiera functions.php i templates, men det finns en del plugins som Custom Post Type UI Plugin om du vill prova det. Jag körde på functions.php istället för jag tyckte det fungerade bäst och jag började med att registrera en post typ för kollektionen där varje produkt skulle få en egen beskrivning och egen layout:
add_action('init', 'kollektion_register'); function kollektion_register() { $args = array( 'label' => __('Kollektion'), 'singular_label' => __('Kollektion'), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title', 'editor', 'thumbnail') ); register_post_type( 'kollektion' , $args ); }
[caption id=attachment_1632" align="alignright" width="155" caption="Två Custom Post Types][/caption]Det jag gjort här är att skapa en ny post typ vid namn "kollektion" och sedan gett den en del värden:
- label - namnet på post typen
- public - talar om om post typen ska synas i admin eller inte
- publicly_queryable - om post typen ska kunna användas på förstasidan (front page)
- show_ui - om det ska finnas ett användar interface för att hantera posterna
- query_var - variabel för att få ut posterna, true sätter den till namnet på post type (kollektion)
- rewrite - Tillåter att permalänken skrivs om
- capability_type - här kan man välja post eller page och det styr hur posten hanteras
- hierarchical - styr om man kan skapa undersidor som med pages eller inte
- menu_position - talar om vart i admin menyn posttypen ska hamna. I det här fallet är det på plats 2Â (0,5,10,15 osv)
- supports - talar om vilka postmenyer som ska finnas. Här är det bara thumbnail, titel och innehåll.
Förutom det här kan du definiera olika labels, skapa egna ikoner för varja posttyp och mycket mer. Du hittar all information här: [url=http://codex.wordpress.org/Function_Reference/register_post_type]http://codex.wordpress.org/Function_Reference/register_post_typeNu när vi har en custom post type så kan det vara skönt att kunna använda det också och det gör du genom att göra en query och plocka ut just dom posterna du vill ha och hur många. Jag har använt standard loopen, men du kan ta ut vad du vill självfallet:
'kollektion', 'posts_per_page' => 10 ) ); ?>have_posts() ) : $loop->the_post(); ?> id="post-"> '); ?> | Â
Nu har vi skapat en custom post type och fått ut den i en template, men troligen så vill du göra lite mer än så, nämligen ha den här loopen i en egen template, men då kommer du att märka att som default så använder custom post types files single.php för att visa dom enskilda posterna och även om det går att skapa olika mallar med if-satser och annat så finns det en mycket enklare lösning, nämligen att skapa specifika templates just för en specifik post type. Det gör du genom att skapa en template och namnge den till "single-namnet på custom type.php". I exemplet ovan där jag skapade en custom post type vid namn "kollektion" så döpte jag filen till single-kollektion.php.Jag upptäckte att det kan vara lite knöligt att jobba med flera loopar om man till exempel som jag ville ha själva postvyn så att postens innehåll visades först och sedan dom enskilda post types under och det jag gjorde var att skapa en specifik template för loopen för custom post type och sedan inkludera det där jag ville ha det i min template. Jag skapade en template som jag döpte till reseller och sedan inkluderade jag den i min template för återförsäljare så här:
>
Det var lite kort om hur jag jobbade med custom post types och har du några frågor så var inte blyg, jag älskar att försöka hjälpa till om jag kan!
Recommended Comments
There are no comments to display.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now