Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să adăugați categorii la un tip de postare personalizat în WordPress

Unul dintre cititorii noștri ne-a contactat recent cerând modalități de a adăuga categorii la un tip de postare personalizat în WordPress. 

Categoriile sunt una dintre taxonomiile încorporate în WordPress, destinate în principal postărilor de blog. Cu toate acestea, ele nu apar automat în tipurile de postări personalizate, ceea ce limitează opțiunile dvs. de organizare.

Din fericire, am găsit câteva soluții simple la această problemă de-a lungul anilor noștri de lucru la site-uri WordPress.

În acest articol, vă vom arăta cum să adăugați categorii la un tip de postare personalizat în WordPress.

Adăugarea categoriilor la tipurile de postări personalizate în WordPress

Când ar putea fi necesar să adăugați categorii la un tip de postare personalizat?

WordPress permite dezvoltatorilor de plugin-uri și proprietarilor de site-uri web să creeze propriile tipuri de conținut. Similar cu postările și paginile, aceste tipuri de postări personalizate pot avea, de asemenea, propriile taxonomii precum categoriile și etichetele.

De exemplu, dacă publicați recenzii de filme, atunci ați putea dori să creați un tip de postare personalizat pentru „Filme”.

S-ar putea să fie necesar să vă organizați filmele în subiecte adecvate, pentru asta veți avea nevoie de o taxonomie personalizată. Puteți crea o taxonomie numită gen.

Totuși, ce-ar fi dacă ați dori să utilizați aceleași categorii pe care le folosiți pentru postările dvs. de blog cu tipul de postare Filme?

Acesta este momentul în care trebuie să activați categoriile pentru tipul dvs. de postare personalizat. Acest lucru v-ar permite să utilizați aceleași categorii atât pentru postările de blog, cât și pentru tipul dvs. de postare personalizat.

Acestea fiind spuse, să vedem acum cum să adăugați cu ușurință categorii la un tip de postare personalizat în WordPress.

Adăugați categorii la un tip de postare personalizat cu un plugin

Dacă sunteți începător, vă recomandăm să utilizați pluginul Custom Post Type UI pentru a crea tipuri de postări personalizate.

Cu pluginul Custom Post Type UI, aveți opțiunea de a asocia tipul dvs. de postare personalizat cu orice taxonomie încorporată sau personalizată, inclusiv categoriile.

Mai întâi, trebuie să instalați și să activați pluginul Custom Post Type UI. Pentru mai multe detalii, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.

La instalare, trebuie să vizitați CPT UI » Adăugare/Editare Tipuri de Postări pentru a crea un nou tip de postare personalizat sau pentru a edita un tip de postare personalizat existent pe care l-ați creat cu pluginul.

Editarea tipurilor de postări cu pluginul CPT UI

Derulați în jos până la partea de jos, unde se află Opțiunile de setări. De acolo, veți vedea zona Taxonomii.

Trebuie să bifați căsuța de lângă categorii și să salvați tipul de postare personalizat.

Activați categoriile pentru un tip de postare personalizată în WordPress

Nu uitați să faceți clic pe butonul „Salvează tipul de postare” pentru a vă salva setările.

Acum, puteți edita orice conținut sub acel tip de postare particular și veți vedea opțiunea de a selecta categorii în coloana din dreapta în editorul de blocuri WordPress.

Categorie adăugată la un tip de postare personalizată

Adăugarea manuală a categoriilor la un tip de postare personalizat cu cod

Dacă ați creat tipul de postare personalizat adăugând codul în fișierul functions.php al temei dvs., un plugin specific site-ului sau într-un plugin de fragmente de cod, atunci va trebui să modificați codul pentru a adăuga categoria ca taxonomie suportată.

Tot ce trebuie să faceți este să adăugați această linie în argumentele pentru tipul dvs. de postare personalizat.

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

Este probabil ca deja să aveți această linie în codul existent pentru tipul dvs. de postare personalizat, cu o altă taxonomie personalizată în el. Dacă aveți, atunci trebuie doar să adăugați o virgulă după aceasta și să adăugați o categorie, astfel:

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

Iată un exemplu complet de cod în care am creat un tip de postare personalizat numit „Filme” cu suport pentru categorii încorporate.

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 );

Afișarea mai multor tipuri de postări pe pagina de categorii

În mod implicit, paginile de categorii de pe site-ul dvs. WordPress vor afișa doar tipul de postare implicit „Postări”.

Tip de postare lipsă

Pentru a afișa tipurile de postări personalizate pe aceeași pagină de categorii ca și postările implicite, trebuie să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin de fragmente de cod:

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;
    }
}

Notă: Nu uita să înlocuiești „movies” cu numele propriului tău tip de postare personalizat.

Recomandăm adăugarea acestui cod folosind WPCode, cel mai bun plugin pentru fragmente de cod de pe piață. WPCode face sigur și ușor adăugarea de cod personalizat în WordPress fără a edita fișierul functions.php al temei dvs.

WPCode

Pentru a începe, trebuie să instalați și să activați pluginul gratuit WPCode. Dacă aveți nevoie de ajutor, consultați tutorialul nostru despre cum să instalați un plugin WordPress.

Odată ce pluginul este activat, accesează Snippets de cod » Adaugă Snippet din tabloul de bord WordPress.

Din pagina Adăugare Fragment, plasați cursorul mouse-ului peste opțiunea „Adăugați codul dvs. personalizat (Fragment nou)” și faceți clic pe butonul „+ Adăugare Fragment personalizat”.

Adăugați un nou fragment de cod personalizat în WPCode

Apoi, selectați „Fragment PHP” ca tip de cod din lista de opțiuni care apar pe ecran.

Selectați Fragment PHP ca tip de cod

Apoi, adaugă un titlu pentru fragmentul tău în partea de sus a paginii, care este doar pentru referința ta și poate fi orice pentru a te ajuta să-ți amintești la ce servește codul.

Apoi, pur și simplu lipiți codul de mai sus în caseta „Previzualizare cod”.

Lipiți codul în caseta de previzualizare a codului

După aceea, comutați comutatorul din partea de sus a paginii de la 'Inactiv' la 'Activ' și faceți clic pe butonul 'Salvează Snippet'.

Activați și salvați fragmentul de cod personalizat

Acum puteți vizita o pagină de arhivă a categoriei și aceasta va afișa intrările dvs. din tipul dvs. de postare personalizată.

Tipul postării afișat pe pagina de arhivă a categoriilor

Puteți folosi aceleași metode pentru a adăuga etichete și tipurilor dvs. de postări personalizate. Consultați ghidul nostru despre categorii vs. etichete pentru a afla mai multe.

Ghiduri Experte despre Categorii în WordPress

Doriți să aflați mai multe despre utilizarea categoriilor în WordPress? Consultați aceste tutoriale:

Sperăm că acest articol v-a ajutat să învățați cum să adăugați categorii la tipul dvs. de postare personalizată în WordPress. De asemenea, ați putea dori să vedeți selecția noastră de experți de pluginuri WordPress obligatorii pentru site-uri web de afaceri, sau aceste sfaturi despre cum să vă creșteți traficul pe blog.

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

39 CommentsLeave a Reply

  1. Salut, mulțumesc pentru acest articol

    Codul pentru Afișarea mai multor tipuri de postări pe pagina de categorii funcționează bine.

    Vreau să afișez mai multe tipuri de postări pe pagina Etichete, puteți să-mi împărtășiți codul.

    • Pentru a adăuga etichete la tipurile de postări personalizate, ați adăuga 'post_tag' la array-ul de taxonomii, deci ar arăta astfel:

      ‘taxonomies’ => array( ‘category’, ‘post_tag’ ),

      Admin

  2. Cum putem separa listele de categorii ale tipului de postare personalizat de categoriile postărilor de pe blog? Am adăugat codul de mai sus și funcționează. Dar problema este că categoriile acestui tip de postare personalizat și postările de pe blog sunt amestecate. Ar trebui să fie separate.

    • Scopul acestui tutorial este ca acestea să fie amestecate, pentru ceea ce căutați, ar putea fi cel mai bine să folosiți o categorie diferită pentru tipurile de postări personalizate, pentru a nu apărea în paginile de arhivă ale categoriilor.

      Admin

  3. Salut,
    Am folosit acest cod și a funcționat perfect! CPT-ul se afișează în categoria de postări pe care am ales-o pentru el.
    Dar nu se afișează în arhiva blogului meu. Similar cu arhiva implicită, care afișează toate postările.
    Cum pot să-l afișez și acolo?

    Mulțumesc mult!

  4. Vă rog să-mi spuneți cum să adaug o categorie CPT la un meniu?

    Am CPT „articol” cu categoria „mașină” și „camion”

    Vreau să am un meniu personalizat cu aceste intrări:

    Toate – mașini – camioane

    Caut și caut și nu îl găsesc. Văd categoriile în meniul-administrare și le pot adăuga în meniu, dar rezultatul acestor linkuri = pagini goale
    Presupun că categoriile listate sunt destinate post-categoriilor și nu cpt-categoriilor...

    Aveți un indiciu pentru mine?

    Connie

    • S-ar putea să doriți să verificați opțiunile ecranului din zona meniului pentru a vedea dacă tipul de postare personalizat este o opțiune acolo pentru dvs. de adăugat, care este în prezent nebifată

      Admin

  5. Am creat un tip de postare numit produse și folosesc categorii wp de bază,
    Structura URL-ului produsului meu este mysite.com/product/skf bearing 12
    Paginile mele de categorii arată mysite.com/category/bearings
    De ce URL-ul produsului nu afișează categoria în URL? Ca acesta
    mysite.com/bearings/skf bearing 12
    Permalink-ul meu personalizat este %category%%post%
    Am salvat permalink-ul, dar tot afișează aceeași structură

  6. Salut! lista mea implicită de categorii de postări se afișează în lista de categorii de tipuri de postări personalizate

    vă rog să mă ajutați să corectez asta

    • Salut Moises,

      Acest șir este utilizat pentru traducere. Dacă tema dvs. suportă traducerea, atunci trebuie să o înlocuiți cu domeniul text al temei dvs. Dacă nu sunteți sigur ce să folosiți aici, atunci întrebați suportul temei dvs. Puteți, de asemenea, să-l lipiți așa cum este și acele șiruri vor fi ignorate.

      Admin

  7. FYI, acest lucru va strica editarea în masă în administrator. Am adăugat acest lucru la o mulțime de tipuri de postări și când accesez editarea în masă, partea post_type a interogării devine „Array” în loc de tipul de postare pe care încearcă să-l editeze în administrator.

    Pentru a ocoli acest lucru, trebuie doar să adăugați acest lucru înainte de if( is_category() ):

    `if ( is_admin() ) return;`

  8. Salut, am nevoie de ajutor.
    Am 2 CPT și nu vreau ca acestea să aibă o taxonomie partajată.
    De exemplu
    CPT 1
    – Taxonomie (Tipuri)
    – Tip A
    – Tip B
    CPT 2
    – Taxonomie (Tipuri)
    – Tip C
    – Tip D
    Notă: Nu vreau să afișez aici tipurile A&B din CPT 1
    Mulțumesc

      • Cum să adaug un al doilea tip de postare personalizat?
        Am încercat să repet codul schimbând doar numele CPT-urilor mele, dar nu funcționează…
        Aveți vreo idee?

  9. Codul de afișare CPT pe paginile de categorii funcționează de minune, mulțumesc! Dar, există ceva ce ar trebui să notați totuși. Cea mai recentă postare / postare CPT etichetată cu un nume de categorie nu apare imediat pe acea pagină de categorie. Apare doar la a doua acțiune similară – doar când o altă postare / postare CPT este adăugată în aceeași categorie, prima postare apare pe acea pagină de categorie. există o soluție pentru asta?

  10. Folosesc CPT UI. Am creat tipul de postare personalizat „jobs” și am permis categoriile. Dar aceleași categorii sunt și la Postări. Ele folosesc aceleași categorii. Este posibil ca tipul meu de postare personalizat „jobs” să aibă propriile categorii și postările clasice să aibă propriile categorii? Mulțumesc

    • Aceeași întrebare. Trebuie să rulăm o interogare personalizată dacă dorim să creăm o arhivă de categorii pentru acel tip de postare personalizat?

  11. cum te descurci cu widgetul de bare laterală Postări recente care listează și elementul de meniu?

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

  12. Thanks for the great tutorial here. :)

    Puteți, vă rog, să-mi spuneți cum pot afișa postări personalizate pe categorii pe o pagină separată.

    Pagina implicită de categorii funcționează corect, afișează postările. dar când am încercat să afișez postări din aceeași categorie pe o altă pagină, returnează un array gol. Vă rog ajutați

  13. Mulțumesc! Este grozav. A rezolvat pur și simplu o problemă la care lucram cu soluții mult mai complicate (care nu au funcționat).

    O întrebare totuși, nu am adăugat niciodată declarația de taxonomie la crearea taxonomiilor personalizate pentru CPT-urile mele și taxonomiile au funcționat întotdeauna. Am adăugat doar „category” pentru a vedea ce se întâmplă și a funcționat perfect, am adăugat categorii de postări la CPT-ul meu fără efecte negative asupra taxonomiilor personalizate existente.

    Este o practică recomandată totuși să pui taxonomia personalizată în argumentele CPT?

    Thanks again for sharing :)

  14. Cod personalizat pentru adăugarea de categorii și subcategorii în tipul de postare personalizat. Dacă aleg $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’); codul pentru afișarea categoriilor mele afișează doar acea categorie, dar dacă refolosesc aceeași funcție pentru o altă categorie, nu va funcționa. Vă rog să-mi dați o idee.

  15. Salut. Am creat cu succes un tip de postare personalizat (Artwork) în functions.php. Apoi am creat o taxonomie personalizată („ierarhic” => true), ceea ce înseamnă că pot adăuga categorii personalizate atunci când creez o nouă postare Artwork.

    Mă întrebam dacă, în cadrul aceleiași funcții de taxonomie personalizată, aș putea predefini categoriile pentru postarea de Artă.

    Ceea ce îmi doresc sunt doar două categorii care să poată fi selectate de către utilizator: 1) Pictură, 2) Sculptură. Nu vreau ca utilizatorul să poată adăuga alte categorii. În mod ideal, utilizatorul ar fi „forțat” să aleagă una dintre cele două categorii, adică postarea nu ar putea fi publicată decât dacă o categorie a fost aleasă.

    Este acest lucru posibil?

  16. Adaug mai multe categorii la mai multe tipuri de postări personalizate.

    Cum puteți adăuga mai mult de una pe rând:

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

    ?

    Mulțumesc!

    • Mi-am rezolvat deja problema.

      Poate instinctiv, am început să-mi listez tipurile de postări personalizate ca un array, dar se pare că tot ce am avut nevoie a fost să le listez în interiorul obiectului $post_type, separate prin virgule.

      Mulțumesc!

  17. Salut, am o întrebare. Folosesc un plugin ca tip de postare și are propria zonă de categorii. Vreau să folosesc categoriile mele de bază din WordPress în acest plugin, dar nu am reușit până acum. Am folosit pluginul de mai sus și, după aceea, creează 2 zone de categorii sub plugin și când vreau să afișez postările sub acel tip de postare cu categorii, nu afișează nimic, deoarece lista de categorii a pluginului este goală. Am încercat multe lucruri, inclusiv manipularea codului pluginului, dar nimic nu mi-a rezolvat problema. Există o modalitate pe care o puteți sugera?

  18. Acest articol a fost actualizat recent pentru a funcționa cu versiunea curentă de WP? Am observat că pluginul utilizat nu a mai fost actualizat de peste 2 ani, ceea ce mă face puțin ezitant să-l folosesc.

  19. Mulțumesc pentru tutorialul excelent. Îmi puteți spune, vă rog, cum pot afișa postări personalizate pe categorii pe o pagină separată. Să spunem că am un CPT „talent” și o categorie „artă”. Am două postări diferite, una creată sub CPT „talente” și alta este o postare generală creată sub „postări”. Ambele postări sunt atribuite categoriei „artă” (acest lucru este comun atât pentru CPT, cât și pentru postările generale). Acum știu că pentru postările generale puteți vizualiza pagina categoriei ca exemplu.com/category/art/. Pentru pagina categoriei CPT, cred că URL-ul ar trebui să fie exemplu.com/talent/art/, dar îmi dă o eroare 404.

    • Încercați să actualizați structura permalink-urilor. Pur și simplu accesați Setări » Permalinks și apoi faceți clic pe butonul Salvare modificări fără a schimba nimic.

      Admin

  20. Bine făcut, mulțumesc!
    Am câteva probleme:
    – în widget-ul „Categorii” apar Categoriile de Tipuri de Postări Personalizate, dar la clic returnează mesajul „nimic găsit”.
    – în widget-ul „Postări Recente” nu apar Postările de Tipuri de Postări Personalizate.
    Există o modalitate de a remedia acest lucru?

  21. Articol interesant. WordPress este un serviciu puternic de management al conținutului web pentru întreprinderi, care permite unei companii să aibă site-uri web eficiente, potrivite cerințelor afacerii lor. Este ușor de utilizat și instrumentele sale fără efort fac ca dezvoltarea să pară mai simplă. De la design responsiv la securitate și scalabilitate, WordPress CMS are totul, însă, căutarea instrumentelor potrivite pentru un site web este importantă.
    Adăugarea unei categorii la un tip de postare personalizat devine uneori o necesitate pentru a diferenția o postare de alta, unde metodele menționate în articol vor fi utile. Utilizarea unui plugin va fi o metodă ușoară prin care chiar și o persoană non-tehnică va putea implementa acest lucru, însă cu acest articol, nu simt că utilizarea codului pentru a adăuga această funcționalitate de către o persoană non-tehnică va fi dificilă.
    Mulțumesc pentru distribuire.

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.