Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come visualizzare le sottocategorie nelle pagine delle categorie in WordPress

Noi di WPBeginner siamo sempre alla ricerca di modi più intelligenti per migliorare la navigazione, in modo che i nostri lettori possano trovare facilmente esattamente ciò che stanno cercando. Un'esperienza di navigazione fluida mantiene gli utenti coinvolti e li fa tornare per saperne di più.

Fortunatamente, WordPress offre una soluzione semplice consentendoti di organizzare i tuoi post con categorie e sottocategorie. Mostrare le sottocategorie direttamente nelle pagine delle categorie può migliorare significativamente l'esperienza utente e semplificare la navigazione in tutto il tuo sito.

In questo articolo, ti guideremo su come visualizzare le sottocategorie nelle pagine delle categorie in WordPress. Ti forniremo gli snippet di codice necessari e le istruzioni passo passo per rendere la navigazione del tuo sito web migliore che mai. Iniziamo!

Visualizza sottocategorie nelle pagine delle categorie in WordPress

Perché visualizzare le sottocategorie nelle pagine delle categorie?

Quando scrivi post per il tuo sito web WordPress, puoi ottimizzare per i motori di ricerca e migliorare la navigazione del sito categorizzando correttamente i contenuti. Questo porterà più traffico al tuo sito e permetterà ai visitatori di trovare più facilmente i contenuti che cercano.

Su alcuni siti web, ha senso utilizzare sottocategorie per semplificare la struttura del sito.

Ad esempio, potresti avere una categoria di primo livello (genitore) chiamata Sport. Puoi quindi avere sottocategorie sotto Sport chiamate NFL, NBA e MLB.

Esempio di utilizzo delle sottocategorie in WordPress

Quando i tuoi visitatori cliccano sulla categoria Sport, vedranno tutti i post della categoria Sport e delle sue sottocategorie. Tuttavia, non vedranno l'elenco delle sottocategorie. Ciò rende difficile filtrare solo i post NFL o NBA.

La visualizzazione di un elenco di sottocategorie nelle pagine delle tue categorie può migliorare la navigazione del sito. Ciò è particolarmente vero se decidi di nascondere le sottocategorie nel widget delle categorie del tuo sito web.

Mostra solo categorie di primo livello

Quindi, ad esempio, i visitatori del tuo sito possono passare facilmente da tutti i post Sport a solo NFL. Ancora meglio, puoi continuare a visualizzare le stesse sottocategorie nella pagina NFL in modo che possano passare facilmente da NFL a NBA.

Detto questo, vediamo come visualizzare le sottocategorie nelle pagine delle categorie in WordPress.

Come visualizzare le sottocategorie nelle pagine delle categorie in WordPress

Per visualizzare le sottocategorie nelle pagine di archivio delle tue categorie, dovrai aggiungere del codice ai file del tuo tema. Se hai bisogno di aiuto per aggiungere codice al tuo sito, consulta la nostra guida per principianti su come incollare snippet dal web in WordPress.

La prima cosa da fare è entrare nella cartella del tuo tema e cercare il file di archivio della categoria chiamato category.php.

Se non vedi quel file, dovrai crearlo. Duplica semplicemente archive.php e chiamalo category.php.

Nota: Se il tuo tema non include category.php o archive.php, allora stai probabilmente usando un framework per temi WordPress e dovrai creare category.php manualmente. Un buon punto di partenza per imparare a creare file di archivio è la nostra guida su come creare pagine di archivio personalizzate in WordPress.

Ora, aggiungi semplicemente il seguente codice a category.php appena prima del loop:

<?php
if (is_category()) {
    $this_category = get_category($cat);
    }
    ?>
    <?php
    if($this_category->category_parent)
    $this_category = wp_list_categories('orderby=id&show_count=0
    &title_li=&use_desc_for_title=1&child_of='.$this_category->category_parent.
    "&echo=0"); else
    $this_category = wp_list_categories('orderby=id&depth=1&show_count=0
    &title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID.
    "&echo=0");
    if ($this_category) { ?> 
 
<ul>
<?php echo $this_category; ?>
 
</ul>
 
<?php } ?>
Aggiungi lo snippet di codice a category.php poco prima del loop

Ora, quando visiti una pagina di categoria, vedrai un elenco di sottocategorie.

Sul nostro sito demo, la pagina della categoria Sport mostra collegamenti alle sottocategorie NFL, NBA e MLB.

Anteprima delle sottocategorie nella pagina della categoria

Quando fai clic sul collegamento NFL, vieni portato alla pagina della sottocategoria NFL.

Qui puoi ancora vedere i collegamenti alle sottocategorie Sport, in modo da poter passare facilmente tra i diversi tipi di sport. Questo può semplificare notevolmente la navigazione sul tuo sito.

Anteprima delle sottocategorie nella pagina della sottocategoria

Guide Esperte su Categorie e Sottocategorie in WordPress

Speriamo che questo tutorial ti abbia aiutato a imparare come visualizzare le sottocategorie nelle pagine di categoria in WordPress. Potresti anche voler consultare altre guide relative alla visualizzazione di categorie e sottocategorie in WordPress:

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

73 CommentsLeave a Reply

  1. Salve,

    Uso un tema che non contiene il file category.php. Categorie e post vengono mostrati tramite un archive.php che si trova all'interno di un framework di plugin che viene fornito insieme a questo tema.

    • Questo è un problema che molte persone incontrano quando non guardano attentamente ciò che il loro tema fornisce. Consiglierei di scegliere un tema diverso e questa volta cercare categorie con livelli, tag, menu modificabili, editor a blocchi e responsive per dispositivi mobili. Molti esistono gratuitamente che forniscono queste funzioni di base. È molto più facile andare avanti e continuare a migliorare il tuo sito utilizzando un tema che supporta la flessibilità che cerchi, piuttosto che modificare un tema che non soddisfa le tue esigenze fin da subito. Continuerai a modificare in futuro, e questo non è divertente, credimi!!

      Questo sito contiene articoli sui temi responsive e sulle funzionalità che offrono e dopo aver scelto un tema migliore, ecco il link per cambiarlo. È un processo molto semplice.
      https://www.wpbeginner.com/beginners-guide/how-to-properly-change-a-wordpress-theme/

  2. Ho incollato questo codice nel mio file category.php, ma quando vado su mysite.com/category non viene visualizzato. Suggerimenti?

    • Vorresti assicurarti che il codice sia prima del ciclo nella tua category.php e se è posizionato correttamente lì, allora vorresti verificare con il supporto del tuo tema specifico per vedere se hanno qualcosa che sovrascrive la visualizzazione usuale.

      Amministratore

  3. Ho inserito questo codice tramite il plugin Code Snippets, che ha funzionato con successo nell'inserimento di altro codice, ma ora ho quello che ho scoperto essere chiamato 'schermata bianca della morte'! Anche sulla pagina del mio sito web che termina con /wp-admin.

    Qualcuno sa come risolvere questo problema quando non riesco a vedere la mia dashboard di amministrazione?

  4. questo codice non funziona esattamente come vorrei, vorrei una corretta disposizione delle categorie come navigazione.
    Categoria padre
    Nipote 1
    Nipote 2
    sottocategoria 1
    categorie sorelle

  5. Salve,

    Come possiamo usarlo per tassonomie di post personalizzate create?

    Voglio elencare prima le categorie principali, poi le sottocategorie e le sottocategorie, ecc., fino a raggiungere le pagine dei post?

    Possiamo cambiare questo codice per le categorie di post personalizzate?

    Grazie

  6. Ma, non per nascondere la Categoria Principale, quando clicco sulla pagina della sottocategoria. Voglio mostrare tutte le sottocategorie nella categoria Principale così come anche nella sottocategoria.

  7. Grazie per questo ottimo post. Sono riuscito a creare un filtro per la mia pagina di categoria con questo codice. Ma vorrei avere un link per mostrare tutti i post nella categoria principale; se si clicca su uno dei link del filtro delle sottocategorie e si desidera tornare a vedere tutti i post della categoria principale. Un po' come questo:
    Tutti (20) Sottocategoria 1 (12) Sottocategoria 2 (5). Sottocategoria 3 (3)

    È possibile? E come posso ottenere il numero come parte del link?

  8. Ciao

    Non so nulla di codifica. Mi piacerebbe molto aggiungere sottocategorie al mio blog di WordPress in modo da poter organizzare meglio i miei contenuti. Dove incollo questo codice per farlo funzionare? Cosa succederà esattamente. Vorrei capire un po' di più, per favore, se puoi aiutarmi.

  9. So che questo è un vecchio post ma è esattamente quello che sto cercando per un progetto attuale.
    C'è un modo per far apparire un'immagine con la categoria.
    Ho usato questo plugin in passato per aggiungere un'immagine a una categoria – Categorie Immagini

    <?php if( function_exists('z_taxonomy_image') AND get_option('z_taxonomy_image'.$cat_id)” ) z_taxonomy_image($cat_id); ?>

    Non sono sicuro di come implementarlo con il tuo codice.

  10. Ciao,

    Grazie per il codice.

    Ho una struttura di categorie come:

    Categoria principale: Miglioramento della casa
    Categoria secondaria: Coperture
    Categoria generale: Grondaie

    In questa pagina: Voglio mostrare tutte le sottocategorie, il che va bene, le visualizza tutte.

    In questa pagina: Voglio mostrare tutte le sottocategorie di secondo livello, ma mostra tutte le sottocategorie.

    In questa pagina: Voglio non mostrare nulla, dato che questa è l'ultima

    Per favore, fammi sapere come risolvere.

    Ho usato il tuo codice in questo modo:

    category_parent)
    $this_category = wp_list_categories(‘orderby=id&show_count=0&hide_empty=0&title_li=&use_desc_for_title=1&child_of=’.$this_category->category_parent.
    “&echo=0”); else
    $this_category = wp_list_categories(‘orderby=id&depth=1&show_count=0&hide_empty=0&title_li=&use_desc_for_title=1&child_of=’.$this_category->cat_ID.
    “&echo=0”);
    if ($this_category) { ?>

  11. Chiamami stupido ma dove mettiamo questo codice, in header.php, index.php, functions.php?

    Per tua informazione, ho una pagina in cui cliccano un'immagine nella pagina principale e li porta (attualmente) a una categoria principale.

    il mio obiettivo è che quando cliccano sull'immagine li porti a una pagina che elenca le sottocategorie per la categoria, questo permetterà l'ordinamento dei post!

  12. è possibile visualizzare i post nelle pagine di categoria in base alle sottocategorie usando questo.

    Esempio:

    ** Pagina Categoria Principale **

    ** Sottocategoria #1 **
    – Post #1
    – Post #2

    ** Sottocategoria #2 **
    – Post #3
    – Post #4

  13. Da wp 4.0 ricevo il seguente errore se debug è true:

    Notice: get_all_category_ids is niet meer in gebruik sinds versie4.0! Gebruik in plaats daarvan get_terms(). in

    Questo è l'errore in olandese, in inglese dice che è deprecato. Come si può modificare il codice in modo che funzioni con il nuovo standard?

  14. Grazie per questo, ma cambiare l'argomento orderby non sembra avere alcun impatto sull'ordine effettivo visualizzato. Qualcun altro ha avuto un problema simile? Ci sono soluzioni?

  15. Grazie per questo post utile.
    Ho bisogno di escludere alcune delle categorie, in modo che non vengano visualizzate. Come posso fare?

  16. Ciao

    Ho bisogno di aiuto con lo script sopra. Ho un elenco di categorie di paesi come USA, UK, Italia, Francia, ecc. e ogni paese avrà città come sottocategorie.
    Questo script funziona benissimo, quando clicco su Italia le sottocategorie di città appaiono nella barra laterale, tuttavia quando clicco su una pagina o all'interno di un post le città scompaiono e nella barra laterale viene visualizzato solo il paese.
    Come posso modificare in modo che quando clicco su un post all'interno le città rimangano e quando clicco su una pagina come "Informazioni" o "Home" le città scompaiano? Uso anche il tema Hueman e avrò bisogno che le città appaiano nel menu dell'intestazione. Quanto mi fai pagare per questo? Inviami un'e-mail a kid_punky @ yahoo.com

  17. sto usando il plugin jigoshop per un sito web di abbigliamento e-commerce
    nella categoria jigoshop aggiungi
    UOMO
    DONNA
    RAGAZZI
    ALTRO
    ha anche sottocategorie
    voglio visualizzare la categoria principale nella barra laterale e quando clicco sulla categoria dovrebbero essere visualizzate le sottocategorie;

    • Mitul, per il CSS puoi visualizzarlo nel sorgente, sentiti libero di giocarci. Puoi usare tag condizionali nel tuo template per mostrare le tue sottocategorie in modo diverso o puoi creare un nuovo template per la sottocategoria.

      Amministratore

  18. Ciao,
    Uso il tuo codice con successo, e grazie per questo.
    Ho un piccolo problema: ho rimosso “depth=”1″ dal codice ma la categoria principale non appare nella barra laterale. solo le sottocategorie.
    Come posso visualizzare sia la categoria genitore che le sottocategorie?
    Grazie.

  19. Ciao. Funzionerà con WordPress 3.3.1?

    Inoltre, questa domanda potrebbe sembrare sciocca, ma voglio ricontrollare:

    Questo codice permetterà alle sottocategorie specifiche della pagina di categoria su cui mi trovo di apparire nella sidebar, corretto? Detto in altro modo: sono sulla homepage. Clicco sulla navigazione principale che dice "Illinois". Questo mi porta a una pagina di archivio (categoria) per l'Illinois, che ha una sidebar. In quella sidebar ci sono: Chicago, Evanston, Skokie (sottocategorie). Ora, se cliccassi su "New York" nella navigazione principale, andrei a una pagina di archivio (categoria) per New York, e nella colonna di destra di quella pagina ci sarebbero: NYC, Albany, Buffalo, Rochester.

    Ho capito bene, o sto fraintendendo l'applicazione?

    Grazie mille!

  20. il commento non è stato pubblicato correttamente... quindi lo riposto:

    Categoria-Principale

    Sottocategoria-1, Sottocategoria-2, Sottocategoria-3, Sottocategoria-4, Sottocategoria-5,

    Sottocategoria-6, Sottocategoria-7, e così via ………….

  21. Voglio mostrare l'elenco delle sottocategorie nella pagina di archivio della categoria principale, ad esempio:

    <Categoria Principale>

    <sottocategoria-1>, <sottocategoria-2>, <sottocategoria-3>, <sottocategoria-4>, <sottocategoria-5>, <sottocategoria-6>, e così via …

    Ho copiato lo stesso codice fornito in questo articolo, ma non funziona... non viene visualizzato nulla nella pagina della categoria.

    Per favore, aiutami.

  22. Ciao, spero ci sia una soluzione a quello che sto cercando di fare perché non riesco a trovare una soluzione da nessuna parte.

    quello che ho sono diverse sottocategorie sotto una categoria principale. ma le categorie di secondo livello non sono categorie figlie della principale. solo le sottocategorie sotto il secondo livello sono figlie. ma voglio comunque includere il loop di quelle categorie nella categoria principale, ma essenzialmente non avrà mai un post né una figlia. Sono riuscito a trovare il filtro per visualizzare un loop delle categorie sottostanti, ma la pagina appare solo se c'è un post in quella categoria...

    LOL, tutto questo suona piuttosto complicato quando lo dico ad alta voce haha… Spero che tu capisca di cosa sto parlando.

    In breve, voglio che la pagina della categoria venga visualizzata anche senza post sottostanti. Sto usando un tema personalizzato e file di template per ogni categoria.

    Hope someone has the answer. :)

    Saluti

    • @robolist Qual è il senso di avere una categoria senza post sotto di essa? Sembra che non dovrebbe nemmeno esserci. Forse vuoi elaborare, così possiamo vedere cosa stai facendo con quella categoria. Forse si dovrebbe prendere una strada alternativa.

      • @wpbeginner thanks for getting back so fast :)

        ok, il motivo è che non voglio che la categoria principale appaia nella struttura dell'URL. sebbene l'URL finale per il post sarà diverso. La categoria principale sarà qualcosa come 'destinations' poi sotto ci saranno i paesi. con ogni paese che ha una città figlia e poi post sotto la città. quindi il menu principale visualizzerà 'destinations' con un loop di tutti i post sottostanti. poi sotto nel sottomenu ci sarà il paese e la città. con sia il paese che la città che contengono un loop dei rispettivi post. quindi al momento di arrivare alla pagina di destinazione della città non voglio che l'URL sia '.com/destinations/country/city/' voglio che sia '.com/country/city/'

        Vedi il mio dilemma?

        • @robolist Sembra che ci sia un modo migliore. Non avrebbe più senso eliminare del tutto la categoria di destinazione. Crea una pagina chiamata Destinazioni – usa un modello di pagina personalizzato per far sì che visualizzi tutte le categorie che WordPress ha usando la funzione wp_list_categories(). Ora avrai ancora gli URL come .com/paese/città/ E quando l'utente va su una pagina come .com/destinazioni/ << Potrà ancora vedere tutti i paesi elencati lì. Ha senso? Se non ne ha, forse non capiamo cosa stai cercando di fare.

        • @wpbeginner that does sound better and makes sense… But i am not familiar with the wp_list_categories() function, although i have seen it around. This could be the one. thanks so much for your help, i will go and give that a try :) thanks so much…

          grazie anche per tutti i tuoi fantastici tutorial su questo sito...

        • @robolist wp_list_categories() è una funzione molto semplice e potente. http://codex.wordpress.org/Template_Tags/wp_list_categoriesIt ti permetterà di visualizzare le tue categorie ovunque in un modello di pagina personalizzato. https://www.wpbeginner.com/wp-themes/how-to-create-a-custom-page-in-wordpress/ Quindi crea un modello di pagina personalizzato. Nell'area del modello incolla il codice wp_list_categories(); Assicurati di impostare child=0 se non vuoi visualizzare le tue città lì. Come presumo, vorrai visualizzare solo i paesi lì. Poi, una volta che un utente clicca su un paese, vedrà tutte le città. Stilizzalo a tuo piacimento e il gioco è fatto.

        • @wpbeginner

          hey guys, thanks so much for your advice last night, it worked a treat :). I am however stuck on the permalink structure now and would be very grateful if you and any tips for me again :)

          Il mio post finale si trova ora alla fine di una struttura di categorie a tre livelli, ‘continente/paese/città/post/’ (le destinazioni, come hai consigliato, sono ora una pagina). Ma per l'URL finale del post non voglio che sia profondo quattro livelli e preferirei che fosse profondo solo tre livelli. quindi il permalink che vorrei è paese/città/post/… C'è un modo per rimuovere la categoria genitore di primo livello dalla struttura del permalink? al momento l'ho impostato così ‘/%category%/%postname%-%post_id%/’ Ma prende automaticamente tutte le categorie genitore. Devo di nuovo rendere la categoria principale una pagina o c'è un modo migliore per risolvere questo problema? Molte grazie in anticipo per il tuo aiuto

          Saluti

        • @robolist Puoi scrivere alcune regole di riscrittura dei permalink, ma è un po' più difficile che rendere la categoria principale una pagina. Soluzione facile: rendi il continente una pagina. Soluzione difficile: regola di riscrittura dei permalink. Onestamente, hai bisogno dei continenti? la maggior parte delle persone non cerca per Nord America o Sud America… Cerca solo i paesi…

        • @wpbeginner Grazie per la tua risposta.

          Avere i continenti aiuta a organizzare il blog poiché alla fine diventerà piuttosto grande, sono più simili a regioni, non esattamente continenti, motivo per cui preferirei includerli. Mi piacerebbe imparare a fare la regola di riscrittura perché in questo modo non dovrò aggiungere costantemente ID di categorie aggiuntive alle pagine delle regioni ogni volta che viene aggiunta una nuova città/paese. Il modo in cui l'ho impostato con le destinazioni è perfetto perché non aggiungerò mai più regioni, quindi non dovrò più toccare quella pagina :), così com'è ci sono 9 regioni, questo è tutto, ma paesi e città verranno aggiunti nel tempo

          i dont suppose you could point me in the right direction for the rewrite? :) I would be ever so grateful

          Molte grazie per tutto il tuo aiuto finora

        • @robolist La riscrittura richiede la scrittura di codici personalizzati e questo è qualcosa per cui addebitiamo. Puoi cercare su Google la tua guida o guardare nel core di WordPress se ti piace affrontare il codice.

        • @wpbeginner I would love to hire you guys but just dont have a budget for that :(, plus i would love to learn how to do it myself. but thanks so much for all the help you have given me on this. if i do fail at my attempt then i will just go for the simple way out and create pages for the regions. thanks again :)

  23. Hai mai risolto? Sto cercando di fare la stessa cosa in questo momento. Mostra solo sottocategorie nelle pagine di categoria se ci sono sottocategorie. Quel "Nessuna categoria" mi sta uccidendo.

  24. Ciao! Scusa per il mio inglese.

    Vorrei usare il tuo codice, ma non nella barra laterale. Quando clicco su una categoria principale, vorrei trovare nella barra di navigazione il sottomenu invece del menu principale.

    Scusa ma non sono uno sviluppatore, dove devo incollare il tuo codice?

    In category.php ? :(

    Grazie

  25. Il codice non è finito.

    «…
    if ($this_category) {
    // Ci deve essere un codice
    // per mostrare l'elenco delle sottocategorie.
    }?>
    …»

    Qualcosa del genere:
    if ($this_category) {
    printf( $this_category );
    }

    P.S. sto lavorando su «Twenty Ten» 3.0.1

  26. Ho sentito che questo codice non funziona più dall'aggiornamento di WP. Ho anche ricevuto un errore di analisi.

  27. Ciao,
    Questo codice è esattamente quello di cui ho bisogno, solo che voglio usarlo nella sezione di contenuto effettiva di category.php, non nella barra laterale. Comunque, l'ho incollato e ottengo un errore di analisi. Manca qualcosa alla fine dello snippet di codice?
    Grazie.
    -Rachel

  28. Questo è un ottimo punto di partenza per me, dato che l'avevo cercato ovunque.

    Mi chiedevo se ci fosse un modo per elaborare questo e permettere, ad esempio, 1 titolo di post ed estratto, poi altri 4 titoli da ogni sottocategoria, visualizzati in un div.

    I have been trying to find a way to do this for months but have never found anyone able to assist. I even offered a small payment but no-one came forward :)

    Thanks if anyone can offer any advice :)

    Karl

  29. Ciao, grazie mille per questo codice e funziona sul mio template. Come potrei impedire che questo intero codice venga eseguito se una categoria NON ha figli? Se non ci sono figli, crea un elenco vuoto e stampa il testo "Nessuna categoria". Ecco come l'avevo impostato con il codice di Yoast:

    cat_ID) != "") { ?>

    Sottocategorie:
    cat_ID);?>



    Se non ci fossero sottocategorie, non apparirebbe nulla. Il tuo codice è migliore, ma ho bisogno che appaia SOLO se ci sono sottocategorie. Come potrei ottenere questo? Grazie per qualsiasi suggerimento.

  30. Grazie per aver pubblicato questo. Ho visualizzato correttamente i miei post, ma avevo dimenticato le sottocategorie… ha più senso in questo modo.

  31. Ciao,

    Sto cercando di realizzare questo nella barra laterale, solo che invece di link, voglio elencare i post recenti nelle sottocategorie.

    e naturalmente, questo si verificherebbe in tutte le pagine di categoria e sottocategoria, così come nei singoli post.

    Non so se sia possibile. Ma ho cercato ovunque come un pazzo e il fatto di non essere un programmatore non aiuta.

Lascia un commento

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.