Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come visualizzare solo la categoria genitore nel loop degli articoli di WordPress

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.

Displaying only the parent category in WordPress loop

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.

Parent and child categories displayed

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

Adding a New Snippet in WPCode

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);
}
Adding a Title and Code Snippet to WPCode

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.

In WPCode, Select PHP as the Code Type and Toggle the Snippet Active

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.

Only parent category displayed

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.

Only parent product category displayed

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:

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.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

11 commentiLascia una risposta

  1. Davide

    Great! And if i want to give a different css to these categories?

  2. 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

  3. AselHora

    put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.