Tilpassede posttyper med brugerdefinerede kategorier

wordpress

WordPress bliver en så uundværlig platform for så mange virksomheder, men den gennemsnitlige virksomhed drager ikke engang fordel af en brøkdel af kapaciteterne. En af vores klienter ønskede at tilføje en ressource sektion til deres websted, men ønskede ikke at gøre det ved hjælp af sider eller i blogindlæg. Dette er præcis, hvad WordPress understøtter Brugerdefineret Indlæg Typer til!

I dette tilfælde ønskede vi at tilføje en ressourceafdeling til en af ​​vores kunders websteder. Det er ret simpelt 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 af grundene til, at det er vanskeligt at finde ud af, hvordan man gør dette, er fordi det kaldes en brugerdefineret taksonomi og bruger register_taxonomy funktion til at tilpasse det. I dette tilfælde ønsker vi at tilføje ressourcetyper som webinarer, whitepapers osv. Til temaet ... så her er nogle ekstra koder 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.