Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man lägger till kategorier i en anpassad inläggstyp i WordPress

En av våra läsare kontaktade oss nyligen och frågade efter sätt att lägga till kategorier i en anpassad inläggstyp i WordPress. 

Kategorier är en av de inbyggda taxonomierna i WordPress, främst för blogginlägg. De visas dock inte automatiskt i anpassade inläggstyper, vilket begränsar dina organisationsmöjligheter.

Lyckligtvis har vi hittat några enkla lösningar på detta problem under våra år av arbete med WordPress-webbplatser.

I den här artikeln visar vi hur du lägger till kategorier i en anpassad inläggstyp i WordPress.

Lägga till kategorier till anpassade inläggstyper i WordPress

När kan du behöva lägga till kategorier i en anpassad inläggstyp?

WordPress tillåter plugin-utvecklare och webbplatsägare att skapa sina egna innehållstyper. Liknande inlägg och sidor, kan dessa anpassade inläggstyper också ha sina egna taxonomier som kategorier och taggar.

Om du till exempel publicerar filmrecensioner, kanske du vill skapa en anpassad inläggstyp för 'Filmer'.

Du kanske också behöver organisera dina filmer i lämpliga ämnen, för det behöver du en anpassad taxonomi. Du kan skapa en taxonomi som heter genre.

Men, vad händer om du vill använda samma kategorier som du använder för dina blogginlägg med inläggstypen Filmer?

Det är då du behöver aktivera kategorier för din anpassade inläggstyp. Detta skulle göra det möjligt för dig att använda samma kategorier för både dina blogginlägg och din anpassade inläggstyp.

Med det sagt, låt oss nu titta på hur du enkelt lägger till kategorier till en anpassad inläggstyp i WordPress.

Lägg till kategorier i en anpassad inläggstyp med ett plugin

Om du är nybörjare rekommenderar vi att du använder pluginet Custom Post Type UI för att skapa anpassade inläggstyper.

Med pluginet Custom Post Type UI har du möjlighet att associera din anpassade inläggstyp med vilken inbyggd eller anpassad taxonomi som helst, inklusive kategorier.

Först måste du installera och aktivera pluginet Custom Post Type UI. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

Vid installation måste du besöka CPT UI » Lägg till/redigera inläggstyper för att skapa en ny anpassad inläggstyp eller redigera en befintlig anpassad inläggstyp som du skapat med pluginet.

Redigera inläggstyper med CPT UI-plugin

Bläddra ner till botten där Inställningsalternativen finns. Därifrån ser du området Taxonomier.

Du måste kryssa i rutan bredvid kategorier och spara din anpassade inläggstyp.

Aktivera kategorier för en anpassad inläggstyp i WordPress

Glöm inte att klicka på knappen 'Spara inläggstyp' för att spara dina inställningar.

Nu kan du redigera allt innehåll under den specifika inläggstypen, och du kommer att se alternativet att välja kategorier i den högra kolumnen i WordPress blockredigerare.

Kategori tillagd till en anpassad inläggstyp

Lägga till kategorier manuellt till en anpassad inläggstyp med kod

Om du skapade din anpassade inläggstyp genom att lägga till koden i din temas functions.php-fil, ett webbplatsspecifikt plugin, eller i ett kodavsnitt-plugin, då måste du ändra koden för att lägga till kategorier som en stödd taxonomi.

Allt du behöver göra är att lägga till den här raden i argumenten för din anpassade inläggstyp.

'taxonomies'  => array( 'category' ),

Det är troligt att du redan har den här raden i den befintliga koden för din anpassade inläggstyp med någon annan anpassad taxonomi i den. Om du har det, behöver du bara lägga till ett kommatecken efter det och lägga till en kategori, så här:

'taxonomies'          => array('topics', 'category' ),

Här är ett fullständigt kodexempel där vi har skapat en anpassad inläggstyp som heter ‘Filmer’ med stöd för inbyggda kategorier.

function custom_post_type() {
 
// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
        'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
        'menu_name'           => __( 'Movies', 'twentythirteen' ),
        'parent_item_colon'   => __( 'Parent Movie', 'twentythirteen' ),
        'all_items'           => __( 'All Movies', 'twentythirteen' ),
        'view_item'           => __( 'View Movie', 'twentythirteen' ),
        'add_new_item'        => __( 'Add New Movie', 'twentythirteen' ),
        'add_new'             => __( 'Add New', 'twentythirteen' ),
        'edit_item'           => __( 'Edit Movie', 'twentythirteen' ),
        'update_item'         => __( 'Update Movie', 'twentythirteen' ),
        'search_items'        => __( 'Search Movie', 'twentythirteen' ),
        'not_found'           => __( 'Not Found', 'twentythirteen' ),
        'not_found_in_trash'  => __( 'Not found in Trash', 'twentythirteen' ),
    );
     
// Set other options for Custom Post Type
     
    $args = array(
        'label'               => __( 'movies', 'twentythirteen' ),
        'description'         => __( 'Movie news and reviews', 'twentythirteen' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
        'show_in_rest'        => true,
         
        // This is where we add taxonomies to our CPT
        'taxonomies'          => array( 'category' ),
    );
     
    // Registering your Custom Post Type
    register_post_type( 'movies', $args );
 
}
 
/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/
 
add_action( 'init', 'custom_post_type', 0 );

Visa flera inläggstyper på kategorisida

Som standard kommer kategorisidorna på din WordPress-webbplats endast att visa standardinläggstypen 'Inlägg'.

Saknad inläggstyp

För att visa dina anpassade inläggstyper på samma kategorisida som dina standardinlägg, behöver du lägga till denna kod i ditt temas functions.php-fil eller i ett kodavsnittsplugin:

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}

Notera: Glöm inte att ersätta ‘movies’ med namnet på din egen anpassade inläggstyp.

Vi rekommenderar att du lägger till den här koden med hjälp av WPCode, det bästa pluginet för kodavsnitt på marknaden. WPCode gör det säkert och enkelt att lägga till anpassad kod i WordPress utan att redigera din temas functions.php-fil.

WPCode

För att komma igång behöver du installera och aktivera kostnadsfria WPCode-pluginet. Om du behöver hjälp, se vår handledning om hur man installerar ett WordPress-plugin.

När pluginet är aktiverat, gå till Kodavsnitt » Lägg till kodavsnitt från WordPress-instrumentpanelen.

Från sidan Lägg till kodavsnitt, för muspekaren över alternativet 'Lägg till din anpassade kod (nytt kodavsnitt)' och klicka på knappen '+ Lägg till anpassat kodavsnitt'.

Lägg till ett nytt anpassat kodavsnitt i WPCode

Välj sedan 'PHP Snippet' som kodtyp från listan med alternativ som visas på skärmen.

Välj PHP-avsnitt som kodtyp

Lägg sedan till en titel för ditt kodavsnitt högst upp på sidan, som bara är för din referens och kan vara vad som helst för att hjälpa dig att komma ihåg vad koden är till för.

Klistra sedan helt enkelt in koden från ovan i rutan ‘Kodförhandsgranskning’.

Klistra in koden i rutan Kodförhandsgranskning

Efter det, växla omkopplaren högst upp på sidan från 'Inaktiv' till 'Aktiv' och klicka på knappen 'Spara kodavsnitt'.

Aktivera och spara ditt anpassade kodavsnitt

Du kan nu besöka en kategoribearbetningssida, och den kommer att visa dina inlägg från din anpassade inläggstyp.

Inläggstyp som visas på arkivsidan för kategorier

Du kan använda samma metoder för att lägga till taggar till dina anpassade inläggstyper också. Se vår guide om kategorier vs. taggar för att lära dig mer.

Experthandledningar om kategorier i WordPress

Vill du lära dig mer om att använda kategorier i WordPress? Kolla in dessa handledningar:

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du lägger till kategorier i din anpassade inläggstyp i WordPress. Du kanske också vill se vårt expertval av måste-ha WordPress-plugins för att växa din webbplats, eller dessa tips om hur du ökar din bloggtrafik.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

39 CommentsLeave a Reply

  1. Tack för den här artikeln

    Koden för att visa flera inläggstyper på kategorisidan fungerar bra.

    Jag vill visa flera inläggstyper på Taggar-sidan, kan du dela den koden.

    • För att lägga till taggar till dina anpassade inläggstyper skulle du lägga till 'post_tag' i din taxonomi-array så att det ser ut så här:

      'taxonomies' => array( 'category', 'post_tag' ),

      Admin

  2. Hur kan vi separera kategorilistorna för anpassade inläggstyper från blogginläggskategorierna. Jag lade till koden ovan och den fungerar. Men problemet är att kategorierna för denna anpassade inläggstyp och blogginlägg är blandade. De borde vara separerade.

    • Målet med den här handledningen är att få dem att blandas, för det du letar efter kan det vara bäst att använda en annan kategori för de anpassade inläggstyperna så att de inte visas på dina arkivsidor för kategorier.

      Admin

  3. Hej,
    Jag använde den här koden och den fungerade perfekt! CPT:n visas i den inläggskategori jag valde för den.
    Men den visas inte i mitt bloggarkiv. Som standardarkivet, som visar alla inlägg.
    Hur kan jag visa den där också?

    Tack så mycket!

  4. Vänligen berätta hur jag lägger till en CPT-kategori i en meny?

    Jag har CPT "artikel" med kategorin "bil" och "lastbil"

    Jag vill ha en anpassad meny med dessa poster:

    Alla – bilar – lastbilar

    Jag söker och söker och hittar det inte. Jag ser kategorierna i menyn-administration och jag kan lägga till dem i menyn, men resultatet av dessa länkar = tomma sidor
    Jag antar att de listade kategorierna är avsedda som inläggskategorier och inte som cpt-kategorier...

    Har du något tips till mig?

    Connie

    • Du kanske vill kontrollera dina skärmalternativ i menyområdet för att se om den anpassade inläggstypen finns som ett alternativ där för dig att lägga till som för närvarande är avmarkerat

      Admin

  5. Jag har skapat en inläggstyp som heter produkter och använder kärn wp-kategorier,
    Min produkt-URL-struktur är mysite.com/product/skf bearing 12
    mina kategorisidor visar mysite.com/category/bearings
    Varför visar inte produkt-URL:en kategorin inuti URL:en? Som den här
    mysite.com/bearings/skf bearing 12
    min anpassade inläggs permalänk är %category%%post%
    Jag sparade permalänken men den visar fortfarande samma struktur

  6. hej! min standardinläggskategorilista visas i anpassad inläggstyp-kategorilista

    snälla hjälp mig att korrigera det

    • Hej Moises,

      Den här strängen används för översättning. Om ditt tema stöder översättning måste du ersätta den med ditt temas textdomän. Om du är osäker på vad du ska använda här, fråga din temasupport. Du kan också klistra in den som den är, så kommer dessa strängar att ignoreras.

      Admin

  7. FYI, detta kommer att förstöra din massredigering i admin. Jag lade till detta till en massa inläggstyper och när jag går till massredigering blir post_type-delen av frågan "Array" istället för den inläggstyp den försöker redigera i admin.

    För att komma runt detta behöver du bara lägga till detta innan if( is_category() ):

    `if ( is_admin() ) return;`

  8. Hej, jag behöver lite hjälp.
    Jag har 2 CPT:er och jag vill inte att de ska ha en delad taxonomi.
    Som
    CPT 1
    – Taxonomi (Typer)
    – Typ A
    – Typ B
    CPT 2
    – Taxonomi (Typer)
    – Typ C
    – Typ D
    Notera: Jag vill inte visa typerna A&B från CPT 1 här
    Tack

      • Hur lägger jag till en andra anpassad inläggstyp?
        Jag försökte upprepa koden och bara ändra namnen på mina CPT:er men det fungerar inte…
        Några idéer?

  9. Koden för att visa CPT på kategorisidor fungerar som en dröm, tack! Men det finns något du bör notera. Det senaste inlägget / CPT-inlägget som taggats med ett kategorinamn visas inte omedelbart på den kategorisidan. Det visas bara vid den andra liknande åtgärden – först när ett annat inlägg / CPT-inlägg läggs till i samma kategori, dyker det första inlägget upp på den kategorisidan. Finns det en lösning på detta?

  10. Jag använder CPT UI. Jag skapade den anpassade inläggstypen "jobs" och tillät kategorier. Men dessa samma kategorier finns också på Inlägg. De använder samma kategorier. Är det möjligt att min anpassade inläggstyp "jobs" kommer att ha egna kategorier och klassiska inlägg kommer att ha egna kategorier? Tack

    • Samma fråga. Behöver vi köra en anpassad fråga om vi vill skapa ett kategorarkiv för den anpassade inläggstypen?

  11. hur hanterar du widgeten för senaste inlägg i sidofältet som också listar menyalternativet?

    $post_type = array(‘nav_menu_item’, ‘post’, ‘movies’);

  12. Thanks for the great tutorial here. :)

    Kan du snälla berätta hur jag kan visa anpassade inlägg per kategori på en separat sida.

    Standardsidans kategori fungerar korrekt, den visar inläggen. men när jag försökte visa inlägg under samma kategori på en annan sida, returneras en tom array. Snälla hjälp.

  13. Tack! Det här är fantastiskt. Det löste enkelt ett problem som jag har arbetat med med mycket mer komplicerade lösningar (som inte fungerade).

    En fråga dock, jag har aldrig lagt till taxonomideklarationen när jag skapat anpassade taxonomier för mina CPT:er och taxonomierna har alltid fungerat. Jag lade bara till ‘category’ för att se vad som skulle hända och det fungerade vackert, lade till inläggskategorier till min CPT utan negativa effekter på befintliga anpassade taxonomier.

    Är det dock bästa praxis att lägga anpassade tax i CPT-argumenten?

    Thanks again for sharing :)

  14. Anpassad kod för att lägga till kategorier och underkategorier i anpassade inläggstyper. Om jag väljer $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’); kod för att visa mina kategorier, visar den bara den kategorin, men om jag återanvänder samma funktion för en annan kategori fungerar den inte. Ge mig gärna någon idé.

  15. Hej. Jag har framgångsrikt skapat en anpassad inläggstyp (Artwork) i functions.php. Sedan skapade jag en anpassad taxonomi ('hierarchical' => true) vilket innebär att jag kan lägga till anpassade kategorier när jag skapar ett nytt Artwork-inlägg.

    Jag undrade om jag inom samma anpassade taxonomifunktion kunde fördefiniera kategorierna för konstverksinlägget.

    Det jag vill ha är att användaren bara ska kunna välja mellan två kategorier: 1) Målning, 2) Skulptur. Jag vill inte att användaren ska kunna lägga till fler kategorier. Helst skulle användaren 'tvingas' att välja den ena eller andra kategorin, dvs. inlägget skulle inte kunna publiceras om inte en kategori hade valts.

    Är detta möjligt?

  16. Jag lägger till fler än en kategori till flera anpassade inläggstyper.

    Hur kan man lägga till mer än en i raden:

    $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’);

    ?

    Tack!

    • Har redan löst mitt problem.

      Kanske instinktivt började jag lista mina anpassade inläggstyper som en array, men det visade sig att allt jag behövde göra var att lista dem inuti $post_type-objektet, separerade med kommatecken.

      Tack!

  17. Hej, jag har en fråga. Jag använder ett plugin som en inläggstyp och det har sitt eget kategorisområde. Jag vill använda mina WordPress kärnkategorier i detta plugin men har inte kunnat göra det hittills. Jag använde pluginet ovan och efter det skapar det 2 kategorierområden under pluginet och när jag vill visa inläggen under den inläggstypen med kategorier, visar det ingenting eftersom pluginets egna kategorilista är tom. Jag har provat många saker, inklusive att manipulera pluginets kod, men inget har löst mitt problem. Finns det något sätt du kan föreslå?

  18. Har den här artikeln nyligen uppdaterats för att fungera med den aktuella versionen av WP? Jag märkte att pluginet som används inte har uppdaterats på över 2 år, vilket gör mig lite tveksam till att använda det.

  19. Tack för den utmärkta handledningen. Kan du snälla berätta hur jag kan visa anpassade inlägg per kategori på en separat sida. Låt oss säga att jag har CPT “talent” och en kategori “art”. Jag har två olika inlägg, ett skapat under CPT “talents” och ett annat är ett allmänt inlägg skapat under “posts”. Båda inläggen är tilldelade kategorin “art” (detta är gemensamt för både CPT och allmänna inlägg). Nu vet jag att för de allmänna inläggen kan du se kategorisidan som example.com/category/art/. För CPT-kategorisidan antar jag att URL:en borde vara example.com/talent/art/, men det ger mig 404-fel.

    • Försök att uppdatera din permalänkstruktur. Gå helt enkelt till Inställningar » Permalänkar och klicka sedan på knappen "Spara ändringar" utan att ändra något.

      Admin

  20. Bra gjort tack!
    Jag har ett par problem:
    – i widgeten "Kategorier" visas kategorierna för anpassade inläggstyper, men vid klick visas ett "inget hittades"-meddelande.
    – i widgeten "Senaste inlägg" visas inte inlägg från anpassade inläggstyper.
    Finns det ett sätt att fixa det?

  21. Intressant artikel. WordPress är en kraftfull tjänst för hantering av webbinnehåll för företag som gör det möjligt för ett företag att ha effektiva webbplatser som passar deras affärskrav. Det är lätt att använda och verktyg utan ansträngning gör utvecklingen enklare. Från responsiv design till säkerhet och utbyggbarhet, WordPress CMS har allt, men att söka efter rätt verktyg för en webbplats är viktigt.
    Att lägga till kategorier till anpassade inläggstyper blir ibland en nödvändighet för att skilja ett inlägg från ett annat, där metoderna som nämns i artikeln kommer att vara användbara. Att använda ett plugin kommer att vara en enkel metod där även en icke-teknisk person kommer att kunna implementera detta, men med den här artikeln känner jag inte att det blir svårt för en icke-teknisk person att använda kod för att lägga till den här funktionen.
    Tack för att du delade med dig.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.