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 un elenco di pagine secondarie per una pagina principale in WordPress

Recentemente, uno dei nostri lettori ci ha chiesto come visualizzare le sottopagine di una pagina WordPress? È una domanda che riceviamo abbastanza spesso su WPBeginner e mette in evidenza una necessità comune per migliorare la navigazione del sito web e l'esperienza utente. 

Se organizzi il tuo sito WordPress con pagine genitore e pagine figlio, potresti voler visualizzare le tue sottopagine o pagine secondarie sulla pagina genitore principale. Questo aiuta gli utenti a vedere facilmente tutte le informazioni disponibili all'interno di una sezione specifica e a navigare rapidamente verso argomenti correlati.

Potresti anche voler mostrare il link della pagina genitore principale su ogni sottopagina per una facile navigazione, creando un effetto simile alle breadcrumb. Questa navigazione semplificata impedisce agli utenti di perdersi nelle profondità del tuo sito e migliora la loro esperienza di navigazione complessiva.

In questo articolo, ti mostreremo come visualizzare facilmente un elenco di sottopagine per una pagina genitore in WordPress.

Visualizzare un elenco di pagine figlie per una pagina genitore in WordPress

Quando hai bisogno di mostrare un elenco di sottopagine?

WordPress viene fornito con due tipi di contenuto predefiniti chiamati post e pagine. I post sono contenuti del blog e sono solitamente organizzati con categorie e tag.

Le pagine sono contenuti unici o autonomi che sono sempreverdi, come ad esempio una pagina 'Chi siamo' o una pagina 'Contattaci'.

In WordPress, le pagine possono essere gerarchiche, il che significa che puoi organizzarle con pagine genitore e pagine figlio. Ad esempio, potresti voler creare una pagina Prodotto con sottopagine per Funzionalità, Prezzi e Supporto.

Per creare una pagina secondaria, segui la nostra guida su come creare una pagina secondaria in WordPress.

Dopo aver creato le tue pagine padre e secondarie, potresti voler elencare le pagine secondarie nella pagina padre principale.

Ora, un modo semplice per farlo è modificare manualmente la pagina padre e aggiungere un elenco di link individualmente.

Aggiungi manualmente i link delle pagine figlie

Tuttavia, dovrai modificare manualmente la pagina padre ogni volta che aggiungi o elimini una pagina secondaria.

Non sarebbe meglio se potessi semplicemente creare una pagina secondaria e questa apparisse automaticamente come link nella pagina padre?

Detto questo, diamo un'occhiata ad altri modi dinamici per visualizzare rapidamente un elenco di pagine secondarie nella pagina padre in WordPress. Ti mostreremo tre metodi, in modo che tu possa scegliere quello più adatto a te:

Metodo 1. Visualizza le pagine secondarie nella pagina padre utilizzando un plugin

Questo metodo è il modo più semplice per visualizzare le pagine secondarie in una pagina padre ed è consigliato a tutti gli utenti.

Innanzitutto, devi installare e attivare il plugin Page-list. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.

Dopo l'attivazione, è necessario modificare la pagina padre e aggiungere semplicemente il seguente shortcode dove si desidera visualizzare l'elenco delle pagine figlie.

[subpages]

Ora puoi salvare la tua pagina e visualizzarla in anteprima in una nuova scheda del browser. Noterai che viene visualizzato un semplice elenco puntato di tutte le pagine figlie.

Elenco semplice di link di pagine figlie

Se lo desideri, puoi aggiungere del CSS personalizzato per modificare l'aspetto dell'elenco.

Ecco alcuni esempi di CSS che puoi utilizzare come punto di partenza.

ul.page-list.subpages-page-list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

Dopo aver applicato il tuo CSS personalizzato, puoi visualizzare in anteprima la pagina padre.

Ecco come appariva sul nostro sito WordPress di test:

Elenco di pagine figlie con CSS

Il plugin fornisce una serie di parametri per lo shortcode che ti consentono di impostare la profondità, escludere pagine, il numero di elementi e altro ancora.

Per maggiori dettagli, consulta la pagina del plugin per la documentazione dettagliata.

Metodo 2. Elenca le pagine secondarie per una pagina padre utilizzando il codice

Questo metodo è un po' avanzato e richiede l'aggiunta di codice al tuo sito WordPress. Se non l'hai mai fatto prima, consulta la nostra guida su come copiare e incollare codice in WordPress.

Per elencare le pagine figlie sotto una pagina genitore, devi aggiungere il seguente codice in un plugin per snippet di codice o nel file functions.php del tuo tema:

function wpb_list_child_pages() { 
 
global $post; 
 
if ( is_page() && $post->post_parent )
 
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
else
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );
 
if ( $childpages ) {
 
    $string = '<ul class="wpb_page_list">' . $childpages . '</ul>';
}
 
return $string;
 
}
 
add_shortcode('wpb_childpages', 'wpb_list_child_pages');

Su WPBeginner, raccomandiamo sempre di aggiungere codice in WordPress con il plugin WPCode.

WPCode ti consente di aggiungere facilmente codice personalizzato senza modificare i file del tuo tema, quindi non devi preoccuparti di rompere il tuo sito.

WPCode

Innanzitutto, devi installare e attivare il plugin gratuito WPCode. Per istruzioni passo passo, consulta questa guida su come installare un plugin WordPress.

Una volta attivato il plugin, naviga su Snippet di codice » Aggiungi snippet dal tuo pannello di controllo WordPress.

Da lì, passa il mouse sopra l'opzione 'Aggiungi il tuo codice personalizzato (Nuovo snippet)' e fai clic sul pulsante 'Aggiungi snippet personalizzato'.

Aggiungi un nuovo snippet di codice personalizzato in WPCode

Quindi, devi scegliere 'Snippet PHP' come tipo di codice dall'elenco di opzioni che appaiono sullo schermo.

Seleziona Snippet PHP come tipo di codice

Successivamente, aggiungi un titolo per il tuo snippet, che può essere qualsiasi cosa per aiutarti a ricordare a cosa serve il codice.

Ora, incolla semplicemente il codice sopra nella casella 'Anteprima codice'.

Incolla il codice nella casella Anteprima codice

Dopodiché, basta spostare l'interruttore da 'Inattivo' ad 'Attivo' e fare clic sul pulsante 'Salva snippet' in cima alla pagina.

Attiva e salva il tuo snippet di codice personalizzato

Questo codice controlla prima se una pagina ha una pagina genitore o se la pagina stessa è una pagina genitore.

Se è una pagina genitore, allora visualizza le pagine figlie ad essa associate. Se è una pagina figlia, allora visualizza tutte le altre pagine figlie della sua pagina genitore.

Infine, se questa è solo una pagina senza pagina genitore o figlia, il codice semplicemente non farà nulla. Nell'ultima riga del codice, abbiamo aggiunto uno shortcode, in modo da poter visualizzare facilmente le pagine figlie senza modificare i modelli di pagina.

Per visualizzare le pagine figlie, aggiungi semplicemente il seguente shortcode in una pagina o in un widget di testo nella barra laterale:

[wpb_childpages]

Non dimenticare di salvare le modifiche e di visualizzarle in anteprima in una scheda del browser. Ecco come appare sul nostro sito di prova.

Elenco di link semplice

Ora puoi stilizzare questo elenco di pagine usando un po' di CSS personalizzato.

Ecco del codice CSS di esempio che puoi usare come punto di partenza:

ul.wpb_page_list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

Metodo 3. Visualizza dinamicamente le pagine secondarie senza alcun shortcode

L'uso degli shortcode è conveniente, ma il problema è che dovrai aggiungere shortcode in tutte le pagine che hanno pagine genitore o figlie.

Potresti finire per avere shortcode in molte pagine, e a volte potresti anche dimenticarti di aggiungerlo.

Un approccio migliore sarebbe quello di modificare il file del modello di pagina nel tuo tema, in modo che possa visualizzare automaticamente le pagine figlie.

Per farlo, devi modificare il modello principale page.php, o creare un modello di pagina personalizzato nel tuo tema.

Puoi modificare il tuo tema principale, ma tali modifiche scompariranno se cambi o aggiorni il tuo tema. Ecco perché sarebbe meglio se creassi un tema figlio e poi apportassi le tue modifiche nel tema figlio.

Nel tuo file del modello di pagina, devi aggiungere questa riga di codice dove vuoi visualizzare le pagine figlio.

<?php wpb_list_child_pages(); ?>

Tutto qui. Il tuo tema ora rileverà automaticamente le pagine figlio e le visualizzerà in un semplice elenco.

Puoi personalizzare gli stili con CSS e formattazione.

Ecco un esempio di come il sito web di OptinMonster mostra la pagina padre e le sottopagine:

Esempio di sottopagine OptinMonster

Speriamo che questo articolo ti abbia aiutato a elencare le pagine figlie di una pagina genitore in WordPress. Potresti anche voler consultare la nostra guida su le pagine più importanti da creare su un nuovo sito web WordPress, e il nostro confronto dei migliori page builder drag & drop per WordPress per creare layout personalizzati senza codice.

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

80 CommentsLeave a Reply

  1. Ciao, questo funziona, tranne per il fatto che viene visualizzato anche il genitore, come faccio a mostrare solo le pagine figlie, grazie

    • Il metodo più semplice per quello che sembra tu voglia sarebbe quello di non avere contenuti sulla pagina genitore e avere i tuoi contenuti solo nelle pagine figlie.

      Amministratore

  2. Ciao Wpbeginner,

    Per favore, come posso ordinare tutte le pagine figlie alfabeticamente sulla pagina genitore. Ho seguito tutti i passaggi ma le sottopagine vengono visualizzate in modo casuale sulla pagina genitore.

    In attesa di risposta. ….Grazie

    • Cambieresti le due istanze di menu_order nel nostro codice in: post_title

      Amministratore

  3. Posso assegnare una classe CSS a questa funzione? In modo che quando apporto modifiche CSS agli elementi ul, non influenzi altri ul sul sito.
    O qualsiasi altra soluzione semplice per questo?

  4. Ciao, Team WPB,

    Grazie mille per questo snippet e per il tutorial.

    Mi ha fatto risparmiare un sacco di tempo e mi ha aiutato.

    Con cordiali saluti,
    Keshav Murthy

  5. Ho installato il plugin Code Snippets in WordPress 4.9.8

    Ho copiato il codice da https://014.leahstevensyj.workers.dev/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond e l'ho aggiunto a un nuovo snippet in Code Snippets.

    Ho creato una pagina e poi una pagina a cui è stato assegnato come pagina genitore la prima pagina.

    La relazione figlio-genitore è mostrata nell'elenco delle pagine nel menu a discesa degli attributi.

    Quando apro la pagina genitore, non vedo nulla che mostri una pagina figlia.

    Ho quindi provato a usare la pagina functions.php.

    Ho aggiunto il codice copiato da https://014.leahstevensyj.workers.dev/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond alla fine del codice nella pagina functions.

    Quando apro la pagina genitore, non viene visualizzata. Viene visualizzato un messaggio di errore che indica codice inatteso.

    Ho ripristinato la pagina functions.php al suo stato originale.

    Quali modifiche devo apportare a ciò che ho cercato di fare.

    • Ciao Gary,

      Assicurati di pubblicare la pagina figlia prima di testare il codice. Copia attentamente il codice di nuovo per assicurarti di non copiare numeri o caratteri inattesi.

      Amministratore

  6. Ho una domanda. Ho aggiunto sottopagine a una pagina principale, ma quando apro il sito sul cellulare e clicco sulla pagina principale, si apre una pagina principale vuota. Per visualizzare le sottopagine a discesa, è necessario tenere premuto il pulsante della pagina principale. Come posso risolvere questo problema? Non voglio che si apra quella pagina vuota. Voglio che, se si tocca la pagina principale, si apra il menu a discesa.
    Per favore, suggerisci come fare.

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.