Kürzlich fragte uns einer unserer Besucher, wie man untergeordnete Seiten einer WordPress-Seite anzeigen kann?
Wenn Sie Ihre WordPress-Website mit übergeordneten und untergeordneten Seiten organisieren, dann möchten Sie vielleicht Ihre untergeordneten Seiten oder Unterseiten auf der übergeordneten Hauptseite anzeigen. Vielleicht möchten Sie auch die Hauptseite auf jeder Unterseite anzeigen, um das Blättern zu erleichtern.
In diesem Artikel zeigen wir Ihnen, wie Sie ganz einfach eine Liste von untergeordneten Seiten für eine übergeordnete Seite in WordPress anzeigen können.
Wenn Sie eine Liste von Child-Seiten anzeigen müssen?
WordPress wird mit zwei Standard Inhaltstypen ausgeliefert: Beiträge und Seiten. Beiträge sind Blog-Inhalte, die normalerweise mit Kategorien und Schlagwörtern organisiert sind.
Seiten sind einmalige oder eigenständige Inhalte, die immerwährend sind, wie zum Beispiel eine „Über uns“-Seite oder eine „Kontakt“-Seite.
In WordPress können Seiten hierarchisch aufgebaut sein, d. h. Sie können sie mit übergeordneten und untergeordneten Seiten organisieren.
Sie können zum Beispiel eine Produktseite mit untergeordneten Seiten für Funktionen, Preise und Support erstellen.
Um eine untergeordnete Seite zu erstellen, folgen Sie unserer Anleitung zum Erstellen einer untergeordneten Seite in WordPress.
Nachdem Sie Ihre über- und untergeordneten Seiten erstellt haben, können Sie die untergeordneten Seiten auf der übergeordneten Seite auflisten.
Eine einfache Möglichkeit, dies zu tun, ist die manuelle Bearbeitung der übergeordneten Seite und das Hinzufügen einer Liste von einzelnen Links.
Allerdings müssen Sie die übergeordnete Seite jedes Mal manuell bearbeiten, wenn Sie eine untergeordnete Seite hinzufügen oder löschen. Wäre es nicht schöner, wenn Sie einfach eine untergeordnete Seite erstellen könnten und diese automatisch als Link auf der übergeordneten Seite erscheinen würde?
Werfen wir also einen Blick auf einige andere dynamische Möglichkeiten, um schnell eine Liste von Unterseiten auf der übergeordneten Seite in WordPress anzuzeigen. Wir zeigen Ihnen drei Methoden, damit Sie die für Sie beste auswählen können:
Methode 1. Anzeige untergeordneter Seiten auf übergeordneter Seite mithilfe eines Plugins
Diese Methode ist einfacher und wird für alle Benutzer empfohlen.
Zunächst müssen Sie das Page-list-Plugin installieren und aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung zur Installation eines WordPress-Plugins.
Nach der Aktivierung müssen Sie die übergeordnete Seite bearbeiten und einfach den folgenden Shortcode an der Stelle hinzufügen, an der Sie die Liste der untergeordneten Seiten anzeigen möchten.
[subpages]
Sie können Ihre Seite nun speichern und in einer neuen Browser-Registerkarte ansehen. Sie werden feststellen, dass sie eine einfache Aufzählung aller untergeordneten Seiten anzeigt.
Wenn Sie möchten, können Sie einige benutzerdefinierte CSS hinzufügen, um das Aussehen der Liste zu ändern. Hier finden Sie einige CSS-Beispiele, die Sie als Ausgangspunkt verwenden können.
ul.page-list.subpages-page-list {
list-style: none;
list-style-type: none;
background-color: #eee;
border: 1px solid #CCC;
padding: 20px;
}
Nach der Anwendung Ihres benutzerdefinierten CSS können Sie eine Vorschau der übergeordneten Seite anzeigen. So sah es auf unserer Test-WordPress-Website aus.
Das Plugin bietet eine Reihe von Shortcode-Parametern, mit denen Sie die Tiefe, den Ausschluss von Seiten, die Anzahl der Elemente und mehr festlegen können. Details finden Sie auf der Seite des Plugins für eine ausführliche Dokumentation.
Methode 2. Auflisten untergeordneter Seiten für eine übergeordnete Seite mit Code
Diese Methode ist etwas komplizierter und erfordert, dass Sie Code zu Ihrer WordPress-Website hinzufügen. Wenn Sie dies noch nicht getan haben, sehen Sie sich bitte unsere Anleitung zum Kopieren und Einfügen von Code in WordPress an.
Um untergeordnete Seiten unter einer übergeordneten Seite aufzulisten, müssen Sie den folgenden Code in einem Code-Snippets-Plugin oder in der Datei functions.php Ihres Themes hinzufügen:
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');
Bei WPBeginner empfehlen wir immer, Code in WordPress mit dem WPCode Plugin hinzuzufügen.
Mit WPCode können Sie ganz einfach individuellen Code hinzufügen, ohne die Dateien Ihres Themes zu bearbeiten, so dass Sie sich keine Sorgen machen müssen, dass Ihre Website beschädigt wird.
Zunächst müssen Sie das kostenlose WPCode-Plugin installieren und aktivieren. Eine Schritt-für-Schritt-Anleitung finden Sie in diesem Leitfaden zur Installation eines WordPress-Plugins.
Sobald das Plugin aktiviert ist, navigieren Sie in Ihrem WordPress-Dashboard zu Code Snippets “ Snippet hinzufügen. Fahren Sie dort mit der Maus über die Option „Eigenen Code hinzufügen (neues Snippet)“ und klicken Sie auf die Schaltfläche „Snippet verwenden“.
Fügen Sie dann einen Titel für Ihr Snippet hinzu und fügen Sie den Code von oben in das Feld „Codevorschau“ ein.
Vergessen Sie nicht, „PHP Snippet“ als Code-Typ aus dem Dropdown-Menü auf der rechten Seite auszuwählen.
Schalten Sie dann einfach den Schalter von „Inaktiv“ auf „Aktiv“ um und klicken Sie auf die Schaltfläche „Snippet speichern“ oben auf der Seite.
Dieser Code prüft zunächst, ob eine Seite ein übergeordnetes Element hat oder die Seite selbst ein übergeordnetes Element ist.
Handelt es sich um eine übergeordnete Seite, werden die mit ihr verbundenen untergeordneten Seiten angezeigt. Handelt es sich um eine untergeordnete Seite, so werden alle anderen untergeordneten Seiten der übergeordneten Seite angezeigt.
Wenn es sich nur um eine Seite ohne untergeordnete oder übergeordnete Seite handelt, wird der Code nichts tun. In der letzten Zeile des Codes haben wir einen Shortcode hinzugefügt, mit dem Sie einfach untergeordnete Seiten anzeigen können, ohne Ihre Seitenvorlagen ändern zu müssen.
Um untergeordnete Seiten anzuzeigen, fügen Sie einfach den folgenden Shortcode in eine Seite oder ein Textwidget in der Seitenleiste ein:
[wpb_childpages]
Vergessen Sie nicht, Ihre Änderungen zu speichern und eine Vorschau in einem Browser-Tab zu erstellen. So sieht es auf unserer Testseite aus.
Sie können diese Seitenliste nun mit einem benutzerdefinierten CSS gestalten. Hier finden Sie einige Beispiele für CSS-Code, die Sie als Ausgangspunkt verwenden können.
ul.wpb_page_list {
list-style: none;
list-style-type: none;
background-color: #eee;
border: 1px solid #CCC;
padding: 20px;
}
Methode 3. Dynamische Anzeige von Child-Seiten ohne Shortcode
Die Verwendung von Shortcodes ist praktisch, aber das Problem dabei ist, dass Sie Shortcodes auf allen Seiten hinzufügen müssen, die übergeordnete oder untergeordnete Seiten haben.
Es kann sein, dass Sie auf vielen Seiten Shortcodes haben, und manchmal vergessen Sie sogar, sie hinzuzufügen.
Ein besserer Ansatz wäre, die Seitenvorlagendatei in Ihrem Thema zu bearbeiten, so dass es automatisch untergeordnete Seiten anzeigen kann.
Dazu müssen Sie die Vorlage main page.php
bearbeiten oder eine benutzerdefinierte Seitenvorlage in Ihrem Thema erstellen.
Sie können Ihr Haupt-Theme bearbeiten, aber diese Änderungen gehen verloren, wenn Sie Ihr Theme ändern oder aktualisieren. Deshalb ist es besser, wenn Sie ein Child-Theme erstellen und Ihre Änderungen dann im Child-Theme vornehmen.
In Ihrer Seitenvorlagendatei müssen Sie diese Codezeile dort einfügen, wo Sie untergeordnete Seiten anzeigen möchten.
<?php wpb_list_child_pages(); ?>
Das war’s schon. Ihr Theme erkennt nun automatisch untergeordnete Seiten und zeigt sie in einer einfachen Liste an.
Sie können die Stile mit CSS und Formatierung anpassen. Hier ist ein Beispiel dafür, wie die OptinMonster-Website die übergeordnete Seite und die Unterseiten anzeigt:
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, untergeordnete Seiten für eine übergeordnete Seite in WordPress aufzulisten. Vielleicht interessiert Sie auch unser Leitfaden zu den wichtigsten Seiten, die Sie auf einer neuen WordPress-Website erstellen sollten, und unser Vergleich der besten Drag & Drop-WordPress-Seitenersteller, mit denen Sie individuelle Layouts ohne Code erstellen können.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Philip
Hello this works, except that the parent is also displaying, how do i show just the child pages, thanks
WPBeginner Support
The simplest method for what it sounds like you’re wanting would be to not have content on the parent page and only have your content in the child pages.
Admin
Sachit Shori
Thank you so much. You saved me.
WPBeginner Support
You’re welcome
Admin
Emmanuel Husseni
Hello Wpbeginner,
Please how can i sort all the child page alphabetically on the parent page. I’ve follow all step but the sub pages are showing randomly on the parent page.
Waiting for response. ….Thanks
WPBeginner Support
You would change the two instances of menu_order in our code to be: post_title
Admin
Iyke O.
How do I make the list collapsible on sidebar.
WPBeginner Support
To make it collapsable you could use an accordion plugin such as one of the ones from our article here: https://www.wpbeginner.com/showcase/best-wordpress-accordion-plugins/
Admin
Stacie
Easy to follow and did the job. Thanks so much for sharing!
WPBeginner Support
You’re welcome, glad our content could be helpful
Admin
Aaro
Can I assign a css class to this function? So that when I make css changes to ul elements it wouldn’t affect other ul’s on the site.
Or any other simple solution for this?
WPBeginner Support
You could add your CSS class in the ul section of the function
Admin
Keshav Murthy
Hi, WPB Team,
Thank you so much for this Snippet and the tutorial.
It saved my ton of time and helped me too.
With Warm Regards,
Keshav Murthy
WPBeginner Support
Glad our tutorial could help
Admin
Gary Granai
I installed the plugin code snippets in wordpress 4.9.8
I copied the code on https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond and added it to a new snippet in code snippets.
I made a page and then a page which was given the attribute of having the first page as the parent page.
The child parent relationship is shown in the list of pages in the attributes drop down.
When I open the parent page I see nothing that shows a child page.
I then tried using the functions.php page.
I added the code copied from https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond to the bottom of the code on the functions page.
When I open the parent page, I it does not display. What displays is an error message saying there is unexpected code.
I restored the functions.php page to its original statuc.
What changes must I make to what I have tried to do.
WPBeginner Support
Hi Gary,
Make sure that you publish the child page before testing the code. Also carefully copy the code again to make sure that you are not copying the numbers or any unexpected characters.
Admin
Itika
I have a question. I have added sub pages in parent page but when I am opening the site in mobile and clicking on parent page it opens the empty parent page. To view the drop down sub pages one have to hold the button of parent page. How can I fix it. I don’t want that empty page to open. I want that if we touch on parent page it opens the drop down menu.
Please suggest how to do it.