Tilpassede posttyper med brugerdefinerede kategorier

wordpress

WordPress er ved at blive sådan en uundværlig platform for så mange virksomheder, men det gennemsnitlige selskab udnytter ikke engang en brøkdel af mulighederne. En af vores kunder ønskede at tilføje en ressourceafsnit til deres websted, men ville ikke gøre det ved hjælp af sider eller i blogindlæg. Det er præcis det, WordPress understøtter Brugerdefineret Indlæg Typer til!

I dette tilfælde ønskede vi at tilføje et ressourceafsnit til et af vores kunders websteder. Det er ret enkelt at tilføje en Tilpasset post Type til dit WordPress-tema. Du tilføjer følgende kode ved hjælp af funktionen register_post_type til dine funktioner.php side:

// Tilføj ressourcer Custom Post Type add_action ('init', 'create_post_type'); funktion create_post_type () {register_post_type ('resources', array ('labels' => array ('name' => __ ('Resources'), 'singular_name' => __ ('Resource'), 'add_new' => __ ('Tilføj ny'), 'add_new_item' => __ ('Tilføj ny ressource'), 'edit_item' => __ ('Rediger ressource'), 'new_item' => __ ('Ny ressource'), 'all_items' => __ ('Alle ressourcer'), 'view_item' => __ ('Vis ressource'), 'search_items' => __ ('Søgeressourcer'), 'not_found' => __ ('Ressource ikke fundet'), 'not_found_in_trash' => __ ('Ingen ressourcer i papirkurven'), 'parent_item_colon' => '', 'menu_name' => __ ('Resources')), 'public' => true, 'has_archive' => true, 'rewrite' => array ('slug' => 'resources'), 'supports' => array ('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'))) ; }

Lidt sværere at finde var hvordan man laver brugerdefinerede kategorier til din Tilpasset post Type. En grund til, at det er svært at finde ud af, hvordan man gør dette, er, fordi det kaldes en brugerdefineret taksonomi og bruger register_taxonomi funktion til at tilpasse den. I dette tilfælde vil vi tilføje ressourcetyper som webinarer, whitepapers osv. Til temaet ... så her er en ekstra kode til filen functions.php:

add_action ('init', 'resource_category_init', 100); // 100 så posttypen er blevet registreret funktion resource_category_init () {register_taxonomy ('type', 'resources', array ('labels' => array ('name' => 'Resource Type', 'singular_name' => ' Ressourcetype ',' search_items '=>' Søgning på ressourcetyper ',' popular_items '=>' Populære ressourcetyper ',' all_items '=>' Alle ressourcetyper ',' edit_item '=> __ (' Rediger ressourcetype ') , 'update_item' => __ ('Update Resource Type'), 'add_new_item' => __ ('Add New Resource Type'), 'new_item_name' => __ ('New Resource Type')), 'hierarchical' => 'false', 'label' => 'Resource Type')); }

Brugerdefinerede posttyper giver dig også mulighed for at designe arkivet og de enkelte sider til dine tilpassede posttyper. Kopier bare arkiv.php- og single.php-filerne. Omdøb kopierne med Tilpasset post Type i navnet. I dette tilfælde ville det være archive-resources.php og single-resources.php. Nu kan du tilpasse disse sider, men du ønsker, at ressource-siden skal se ud.

2 Kommentarer

  1. 1

    En anden måde ville være at bruge et plugin som Easy Custom Content Typer eller Typer.

    Disse plugins giver dig også mulighed for nemt at tilføje tilpassede metakasser og oprette tilpassede side- og postskabeloner.

    • 2

      Meget sandt @ google-d5279c8b66d25549a0ec3c8dd46a3d1a: disqus! Jeg skal være ærlig over, at jeg har lyst til, at et par af plugins tilføjer masser af overhead til bloggen ... og du kan ikke bare flytte et tema fra et sted til det næste, du skal også sørge for at flytte plugins . Det er den eneste grund til, at jeg arbejder på at integrere de nødvendige funktioner i temafilerne.

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.