Noi di WPBeginner sappiamo che la creazione di una gerarchia ben strutturata di categorie e sottocategorie può migliorare l’esperienza dell’utente e la SEO.
Di default, la maggior parte dei temi di WordPress elenca tutte le categorie associate a una pubblica.
Tuttavia, un nostro lettore ci ha chiesto se è possibile visualizzare solo la categoria genitore all’interno del loop della pubblicazione ed escludere le categorie figlio/bambino. Il lettore vuole concentrare l’attenzione dei suoi visitatori sull’argomento più ampio di ciascuna pubblicazione, invece che su una gerarchia complessa.
In questo articolo vi mostreremo come utilizzare uno snippet di codice per modificare il loop dei post di WordPress e visualizzare solo la categoria genitrice su una singola pubblicazione.
Quando visualizzare solo la categoria genitore in WordPress
Molti proprietari di siti web utilizzano categorie di figli/bambini per creare una struttura per i loro siti web.
Ad esempio, un blog di viaggi può avere destinazioni di viaggio organizzate per categorie, dove ogni regione è una categoria genitore e le città sono categorie figlio/bambino.
Allo stesso modo, un blog di cucina può pubblicare ricette organizzate in categorie figlio/bambino. Ad esempio, una categoria genitore potrebbe essere il tipo di cucina e una categoria figlio/bambino il tipo di piatto.
Ora, la maggior parte dei temi di WordPress utilizza il
tag template_category ()
per elencare tutte le categorie associate a un articolo.
Questa funzione è efficiente, ma visualizza tutte le categorie in ordine alfabetico e ignora completamente la relazione figlio/bambino.
Detto questo, vediamo come modificare questo comportamento e visualizzare solo la categoria genitrice nel loop di WordPress.
Visualizzare solo la categoria genitore nel loop degli articoli di WordPress
Per questa esercitazione, è necessario modificare i file del tema di WordPress. Se non l’avete mai fatto prima, selezionate il nostro articolo su come copiare e incollare frammenti di codice in WordPress.
Per prima cosa, è necessario aggiungere un codice al file functions.php del tema o utilizzare un plugin per gli snippet di codice. Consigliamo l’uso di WPCode perché consente di aggiungere codice senza interrompere il sito e la sua valida funzione di snippet di codice aiuta a prevenire gli errori più comuni.
Approfondisci la nostra guida su come add-on di codice personalizzato in WordPress senza rompere il tuo sito.
Per questa esercitazione utilizzeremo la versione gratuita di WPCode. Sebbene non abbia tutte le caratteristiche avanzate della versione completa, è dotata di tutto ciò che serve per iniziare.
La prima cosa da fare è installare e attivare il plugin WPCode. Se avete bisogno di aiuto, potete seguire la nostra guida passo passo su come installare un plugin di WordPress.
Dopo l’attivazione, è possibile accedere alla pagina WPCode ” New Snippet
Si aprirà una pagina in cui è possibile creare uno snippet personalizzato.
Per prima cosa, è necessario aggiungere un titolo allo snippet. Dopodiché, è possibile copiare e incollare il seguente snippet di codice nel riquadro Anteprima codice.
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);
}
Successivamente, è necessario selezionare l’opzione “PHP Snippet” dal menu a discesa Tipo di codice e attivare l’interruttore Inattivo su Attivo.
Infine, fare clic sul pulsante “Salva frammento” per salvare le impostazioni.
Questo codice crea semplicemente una nuova funzione wpb_get_parent_terms()
. Di default, questa funzione visualizza solo le categorie genitrici.
Successivamente, è necessario inserire questa funzione nei file del tema di WordPress in cui si desidera visualizzare la sola categoria genitore.
Per capire quale file di template esaminare, consultate il nostro cheatsheet sulla gerarchia di template di WordPress per i principianti.
In pratica, dovrete cercare il tag template the_category()
; all’interno del loop di WordPress. Una volta trovato, è necessario sostituirlo con il codice seguente:
<?php wpb_get_parent_terms(); ?>
Questo codice visualizza solo la categoria genitore.
Se si hanno più categorie che sono genitrici o indipendenti, verranno visualizzate anche tutte queste categorie.
Lo snippet di codice funziona anche per tutte le altre tassonomie. Ad esempio, le categorie di prodotti di WooCommerce o qualsiasi tassonomia personalizzata.
È sufficiente modificare il codice in questo modo:
<?php wpb_get_parent_terms( 'product_cat '); ?>
Questo codice visualizza le categorie di prodotti per un negozio WooCommerce.
Inoltre, visualizza solo le categorie genitrici o indipendenti di un prodotto.
Se si desidera visualizzare una tassonomia personalizzata, sostituire product_cat con il nome della tassonomia personalizzata.
Guide esperte sulla visualizzazione delle categorie in WordPress
Ora che sapete come visualizzare solo la categoria genitore per i vostri articoli di WordPress, potreste voler vedere altre guide relative alla visualizzazione delle categorie in WordPress:
- Come visualizzare solo la categoria figlio/bambino nel loop di articoli di WordPress
- Come visualizzare le sottocategorie sulle pagine delle categorie in WordPress
- Come visualizzare le descrizioni delle categorie in WordPress
- Come modificare l’ordinamento delle categorie in WordPress
- Come visualizzare gli articoli recenti di una categoria specifica in WordPress
- Come mostrare/nascondere le categorie in WordPress (Guida definitiva)
- Come mostrare le categorie vuote nei widget di WordPress
- Come dare uno stile diverso alle singole categorie in WordPress
- Come nascondere o abbellire le sottocategorie in WordPress
- Come aggiungere le immagini della tassonomia (icone di categoria) in WordPress
Speriamo che questo articolo vi abbia aiutato a capire come visualizzare solo la categoria genitore per i vostri articoli di WordPress. Potreste anche voler consultare la nostra guida su come visualizzare i campi personalizzati al di fuori del loop o la nostra scelta di esperti del miglior software chatbot AI per il vostro sito web.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Davide
Great! And if i want to give a different css to these categories?
Pedrille
Awesome ! thks
Nithi
How to display only Child category? (Like in the image, “Thesis” above? )
Cami Tirapani
I’m wondering the same thing. :/
Joseph
I know its old, but that would just be the current category
sathish
very useful
JordashTalon
You should vote this post up on Wordpress I’ve noticed a huge lack of adding the Depth feature to Wordpress Functions: http://wordpress.org/extend/ideas/topic/add-depth-parameter-to-the_category?replies=3#post-21041
JordashTalon
Wordpress Category functions that is
Kate M
Didn’t work for me
AselHora
put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.
John Saddington
great tut!