Știm cu toții cât de important este să organizăm conținutul pe un site web. La WPBeginner, înțelegem că utilizarea categoriilor și subcategoriilor ajută vizitatorii să exploreze site-ul dvs. și îmbunătățește modul în care acesta se clasează în rezultatele căutării. O structură bună a categoriilor ajută, de asemenea, vizitatorii să găsească ceea ce au nevoie.
Majoritatea temelor WordPress vor lista automat toate categoriile asociate cu o postare, chiar și subcategoriile. Acest lucru poate crea confuzie pentru vizitatorii dvs. Cu toate acestea, am avut recent un cititor care dorea să afișeze doar categoria principală pe pagina sa de postare unică. Dorea ca vizitatorii să se concentreze pe subiectul principal, în loc să fie copleșiți de un număr mare de subcategorii.
În acest articol, vă vom arăta cum să utilizați o simplă bucată de cod pentru a modifica modul în care WordPress afișează categoriile. Acest lucru vă va permite să afișați doar categoria principală pe pagina unei postări individuale, ceea ce poate îmbunătăți semnificativ experiența vizitatorilor pe site-ul dvs.

Când să afișați doar categoria părinte în WordPress
Mulți proprietari de site-uri web folosesc categorii părinte și copil pentru a crea o structură pentru site-urile lor.
De exemplu, un blog de călătorii poate avea destinații de călătorie organizate pe categorii, unde fiecare regiune este o categorie părinte și orașele sunt categorii copil.

Similar, un blog culinar poate publica rețete organizate în categorii părinte și copil. De exemplu, o categorie părinte ar putea fi tipul de bucătărie, iar o categorie copil ar putea fi tipul de fel de mâncare.
Acum, majoritatea temelor WordPress folosesc eticheta de șablon the_category() template tag pentru a lista toate categoriile asociate cu o postare.
Această funcție este eficientă, dar va afișa toate categoriile în ordine alfabetică și va ignora complet relația părinte/copil.
Acestea fiind spuse, să vedem cum putem schimba acest comportament și să afișăm doar categoria părinte în bucla WordPress.
Afișare doar a categoriei părinte în bucla de postări WordPress
Pentru acest tutorial, va trebui să editați fișierele temei WordPress. Dacă nu ați mai făcut acest lucru înainte, consultați articolul nostru despre cum să copiați și să lipiți fragmente de cod în WordPress.
Mai întâi, trebuie să adăugați un cod în fișierul functions.php al temei dvs. sau să utilizați un plugin pentru fragmente de cod. Vă recomandăm să utilizați WPCode deoarece vă permite să adăugați cod fără a vă defecta site-ul, iar validarea inteligentă a fragmentelor de cod vă ajută să preveniți erorile comune de cod.
Aflați mai multe în ghidul nostru despre cum să adăugați cod personalizat în WordPress fără a vă strica site-ul.
Pentru acest tutorial, vom folosi versiunea gratuită a WPCode. Deși nu are toate caracteristicile avansate ale versiunii complete, vine cu tot ce aveți nevoie pentru a începe.
Primul lucru pe care trebuie să îl faceți este să instalați și să activați pluginul WPCode. Dacă aveți nevoie de ajutor, puteți urma ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
La activare, puteți accesa pagina WPCode » New Snippet

Aceasta va deschide o pagină unde puteți crea un fragment personalizat.
Mai întâi, trebuie să adăugați un titlu pentru fragment. După aceea, puteți copia și lipi următorul fragment de cod în panoul Previzualizare cod.
function wpb_get_parent_terms($taxonomy = 'category')
{
$currentPost = get_post();
$terms = get_the_terms($currentPost->ID, $taxonomy);
if (is_wp_error($terms)) {
/** @var \WP_Error $terms */
throw new \Exception($terms->get_error_message());
}
$map = array_map(
function ($term) use ($taxonomy) {
return '<a href="' . esc_url(get_term_link($term->term_id,
$taxonomy)) . '" title="' . esc_attr($term->name) . '">
' . $term->name . '
</a>';
},
array_filter($terms, function ($term) {
return $term->parent == 0;
})
);
return implode(', ', $map);
}

Apoi, trebuie să selectați opțiunea „PHP Snippet” din meniul derulant Tip de cod și să comutați comutatorul Inactiv la Activ.
În final, asigurați-vă că faceți clic pe butonul „Salvează fragmentul” pentru a stoca setările.

Acest cod creează pur și simplu o nouă funcție wpb_get_parent_terms(). În mod implicit, această funcție va afișa doar categoriile părinte.
Apoi, trebuie să plasați această funcție în fișierele temei WordPress unde doriți să afișați singură categoria părinte.
Pentru a afla în ce fișier de șablon să căutați, consultați foaia noastră de referință despre ierarhia șabloanelor WordPress pentru începători.
Practic, veți căuta eticheta de șablon the_category() în bucla WordPress. Odată ce ați găsit-o, trebuie să o înlocuiți cu următorul cod:
<?php wpb_get_parent_terms(); ?>
Acest cod va afișa doar categoria dvs. părinte.
Dacă aveți mai multe categorii care sunt categorii părinte sau independente, atunci toate aceste categorii vor fi afișate de asemenea.

Fragmentul de cod va funcționa și pentru toate celelalte taxonomii. De exemplu, categoriile de produse WooCommerce sau orice taxonomie personalizată pe care ați putea-o avea.
Pur și simplu modificați codul astfel:
<?php wpb_get_parent_terms( 'product_cat '); ?>
Acest cod va afișa categoriile de produse pentru un magazin WooCommerce.
De asemenea, va afișa doar categoriile părinte sau independente pentru un produs.

Dacă doriți să afișați o taxonomie personalizată, înlocuiți product_cat cu numele taxonomiei dvs. personalizate.
Ghiduri experte despre afișarea categoriilor în WordPress
Sperăm că acest articol v-a ajutat să învățați cum să afișați doar categoria părinte pentru postările dvs. WordPress. De asemenea, ați putea dori să vedeți alte ghiduri legate de afișarea categoriilor WordPress:
- Cum să afișați doar categoria copil în bucla postărilor WordPress
- Cum să afișezi subcategoriile pe paginile de categorii în WordPress
- Cum să afișezi descrierile categoriilor în WordPress
- Cum să schimbi ordinea categoriilor în WordPress
- Cum să afișezi cele mai recente postări dintr-o anumită categorie în WordPress
- Cum să afișați / ascundeți categorii în WordPress (Ghid complet)
- Cum să afișați categorii goale în widget-urile WordPress
- Cum să stilizezi diferit categoriile individuale în WordPress
- Cum să ascundeți sau să stilizați subcategoriile dvs. în WordPress
- Cum să adăugați imagini de taxonomie (pictograme de categorii) în WordPress
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.

Davide
Excelent! Și dacă vreau să dau un CSS diferit acestor categorii?
Pedrille
Super! Mulțumesc
Nithi
Cum să afișezi doar categoria copil? (Ca în imagine, „Thesis” de mai sus?)
Cami Tirapani
Mă întreb același lucru. :/
Joseph
Știu că e vechi, dar asta ar fi doar categoria curentă
sathish
foarte util
JordashTalon
Ar trebui să votați acest post pe Wordpress. Am observat o lipsă uriașă de adăugare a funcției Depth la Funcțiile Wordpress: http://wordpress.org/extend/ideas/topic/add-depth-parameter-to-the_category?replies=3#post-21041
JordashTalon
Funcții de categorie WordPress care sunt
Kate M
Didn’t work for me
AselHora
adăugați marcaje de dată la postările dvs. în acest fel știm când ați scris-o și nu includeți fragmente de cod vechi de 5 ani.
John Saddington
tutorial grozav!