Kinderseitenmenü in der Seitenleiste

Ich möchte das Dropdown-Menü für Unter- / Kinderseiten auf meiner WordPress-Website nicht verwenden. Ich möchte, dass die Seiten in der Seitenleiste auf der übergeordneten Seite aufgeführt werden.

Dies ist der Code, den ich bisher bekommen habe (unten), aber es zeigt nichts in der Sidebar an, daher würde ich mich über Hilfe freuen!

Dies ist in meiner functionen.php:

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 = '
    ' . $childpages . '
'; } return $string; } add_shortcode('wpb_childpages', 'wpb_list_child_pages');

und das ist der Aufruf in der page.php (auch sidebar.php ausprobiert):

  

Irgendwelche Ideen, was schief läuft ?!

Auf einer anderen Anmerkung, dachte ich, dass die Elternseite in der Navigation zu aufgeführt werden sollte, so dass es leicht ist, zurück zu gehen (obwohl es in der Hauptnavigation ist). Gibt es eine Möglichkeit, das erste Listenelement zur übergeordneten Seite zu machen?

Und noch eine weitere Anmerkung, die einzige Möglichkeit, das Dropdown-Menü ohne CSS ein- und auszublenden, bestand darin, ein benutzerdefiniertes Menü im Menü Darstellung> Menü zu erstellen und die untergeordneten Elemente zu deaktivieren. Gibt es einen anderen, besseren Weg?

Danke im Voraus!

BEARBEITEN

Ich dachte nur, ich würde ein Update hinzufügen, um das Markup anzuzeigen, das ich ausgeben möchte. Ich erkannte, dass ich auch den Titel / die Elternseite dort hinein bekommen muss! Hier ist das Beispiel Markup:

  

Solutions Collecting From Web of "Kinderseitenmenü in der Seitenleiste"

Beim Versuch, den Inhalt einer function auszugeben, müssen Sie beachten, ob Sie die Daten an eine andere function (oder etwas anderes, das Sie füttern möchten) übergeben möchten oder direkt an den Browser drucken möchten.

Wenn Sie return , gibt Ihre function die Daten zurück, so dass Sie sie wie folgt in einer sekundären function verwenden können:

second_function(first_function($input));

Wenn Sie den Inhalt einfach im Browser drucken möchten, verwenden Sie entweder echo oder print_r anstelle von return . Es wird empfohlen, echo in Ihrem Fall zu verwenden. Verwenden Sie jedoch kein echo wenn Sie Shortcode-functionen ausführen. Es wird den Text so ausgeben, wie Sie es nicht möchten.

Zurück zu unserem WordPress-Problem, sollen wir?

Verwenden Sie für die bereitgestellte Struktur die folgende function:

 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 = ' '; } return $string; } add_shortcode('wpb_childpages', 'wpb_list_child_pages'); 

Verwenden Sie nun diese function, um Ihr Menü an die gewünschte Stelle auszugeben:

< ?php echo wpb_list_child_pages(); ?>

oder mache den Shortcode:

echo do_shortcode( ' [wpb_childpages] ' );

oder verwenden Sie den Shortcode in einem Text-Widget:

[wpb_childpages]

Alle produzieren das gleiche Ergebnis.