Subpages-die Unterseiten beim Klick auf die Hauptseite anzeigen

In WordPress die statischen Unterseiten anzeigen, wenn die Hauptseite angezeigt wird.

WordPress 2.8
WordPress 2.8

Du magst beim Klick auf die Hauptseite die Unterseiten anzeigen. Entweder für eine horizontale Menüleiste oder einfach in der Sidebar.

Nutzt Du in der Sidebar keine Widgets, dann einfach den Code dorthin kopieren wo Du die Anzeige haben magst.

Nutzt Du Widgets, dann hol Dir das Plugin Exec-PHP und nutze dann ein Textwidget.

Dieser Artikel wurde erneuert, weil WP 2.8 mit dem alten Code nicht so funktioniert!



Unterseiten anzeigen für WP 2.8

<ul>
  <?php
  global $id;
  global $post;
  $navpages = wp_list_pages("title_li=&child_of=$id&depth=1&echo=0");
  if($navpages){
     echo $navpages;
  } else {
     wp_list_pages("title_li=&child_of=".$post->post_parent);
  }
  ?>
</ul>


WordPress 2.7
WordPress 2.7

Unterseiten anzeigen für WP 2.7.1

<?php  global $wp_query;
 
if( empty($wp_query->post->post_parent) ) {
$parent = $wp_query->post->ID;
 
} else {
$parent = $wp_query->post->post_parent;
}
 
wp_list_pages('title_li=&child_of=$parent&depth=');
?>

Artikelversionen:

Erstveröffentlichung am: 16.01.2009 @ 09:24
edit am: 24.6.09 WP 2.8 ist anders ;-)

Viel Freud mit dem Quick Tipp und übers Weitersagen erfreu ich mich … ;)
33 Kommentare zu: "Subpages-die Unterseiten beim Klick auf die Hauptseite anzeigen"
  1. Hallo,

    vielen Dank für den Tipp, werde es gleich mal testen.

    Grüße aus dem Schwarzwald
    Joachim

    Joachim16.01.09 09:41 | # |

  2. hallo,
    hab gerade Versucht das ganze in ein text Widget zu packen, PHP_Exec ist auch installiert.
    Nur leider Zeigt er mir im Widget gar nichts an.
    Benutze WP 2.8 funktioniert es deshalb nicht?

    Vielen Dank
    Gruß

    Benno24.06.09 10:32 | # |

  3. Benno stimmt WP 2.8 spinnt damit ich erweitere den Artikel gleich

    texto24.06.09 14:11 | # |

  4. na das ging ja flott!
    Jedoch bilde ich mir ein dass es nicht ganz richtig ist.

    es werden immer noch alle seiten angezeigt, also Parent + Child!
    Sobald ich dann auf eine Child Seite gehe verschwinden die paren seiten!!

    ich hab es hier mal auf meiner seite http://www.comkomserv.de (die untere navigation)

    Danke Gruß
    Benno

    Benno24.06.09 16:31 | # |

  5. Hi Benno das liegt nicht an den Code da oben , sondern beim template tag wp_list_pages
    schreibe da dazu

    depth=1

    mit einem &verbinden nicht vergessen

    texto24.06.09 17:40 | # |

  6. Sorry, aber ich glaub ich stehe gerade auf dem schlauch …

    wenn ich im template tag (sidebar.php) wp_list_pages bearbeite dann hat es doch gar keine Auswirkung wenn ich widgets verwende, oder!?

    Vielleicht könntest du mir nochmal helfen!!

    Mein code von der sidebar:
    <?php wp_list_pages(‘title_li=Pages’); ?>

    Benno25.06.09 08:25 | # |

  7. ah! ok…

    dann lösch das Seitenwidget nimm ein Textwidget und gib da ein

    <?php wp_list_pages(‘depth=1&title_li=Pages’); ?>

    denn Exec PHP läuft ja sowieso

    lg

    texto25.06.09 13:23 | # |

  8. genau so einen code habe ich gesucht!
    Dankeschön und schöne grüße!

    icognito0128.06.09 16:36 | # |

  9. hallo,

    genau das habe ich gesucht…
    leider gibt es bei mir in der sidebar keine wp_list_pages …
    Was kann man da machen?

    Bei mir ist es auch so, das auf allen Menüseiten rechts in der Sidebar die navi inkl. unternavi angezeigt werden.
    erst wenn ich auf eine Child Seite gehe, werden korret nur die Child Seitenlinks angezeigt.

    Marcel01.07.09 12:55 | # |

  10. Ah, habe im textwidget eingegeben:

    post_parent);
    }
    ?>

    Jetzt wird nur noch das parent Menü angezeigt und wenn ich darauf gehe, nur die child Seiten.

    Ist es möglich, das dieses Textwidget nur angezeigt wird, wenn man auf eine Seite ist, wo es Child Seiten gibt, so das dieses Menü zB. auf der Startseite ausgeblendet ist und nur bei Bedarf bei den bestimmten Seiten angezeigt wird.

    So nimmt das Widget, gerade auf der Startseite in der Sidbar Platz weg.

    Marcel01.07.09 13:01 | # |

  11. Hallo,

    habe noch ein bischen rumprobiert aber ohne Erfolg.
    Geht das überhaupt, das das Menü erst angezeigt wird, wenn man in der Navi auf die parentsite klickt?

    Marcel03.07.09 09:25 | # |

  12. Marcel ich nutz das genauso -ich weiß nicht wieso es bei Dir nicht geht

    ehrlich

    texto03.07.09 13:43 | # |

  13. kann es am Theme liegen?
    weil in der sidebar.php gibt es bei mir kein

    in dem theme

    Marcel03.07.09 14:10 | # |

  14. es kann am ganzen Aufbau des Themes liegen

    probier dies einfach mal mit dem default theme, dann siehst du ob es klappen könnte ;)

    lg

    texto03.07.09 16:17 | # |

  15. Im Endeffekt war es doch ganz einfach :-)

    Einfach den 2. teil der Schleife/Bedingung weglassen …

    else {
    wp_list_pages(“title_li=&child_of=”.$post->post_parent);
    }

    Das soll ja nicht angezeigt werden.

    Grüße
    Marcel

    Marcel06.07.09 15:23 | # |

  16. Ok, so einfach wohl doch nicht, dann wenn man auf einer Unterseite (Child) ist, wird das Menü nicht mehr angezeigt.

    Kann man da vielleicht auch eine Bedingung formulieren, das das Menü mit den Links zu den Unterseiten weiter angezeigt wird?!

    Marcel06.07.09 15:51 | # |

  17. Also als Beispiel:

    Band
    - History
    – 1990
    – 1991
    – 1992

    Wenn man auf History klickt, dann wird 1990 … korrekt angezeigt.
    Ich möchte aber, wenn ich auf 1990 klicke aber weiterhin 1991 und 1992 angezeigt werden, quasi so, wenn ich auf History klicke.

    Geht das?
    Wäre mir eine große Hilfe meine HP in WordPress umzusetzen.

    Grüße
    Marcel

    Marcel06.07.09 16:55 | # |

  18. probiere dafür dieses Plugin
    http://www.webspaceworks.com/resources/wordpress/76/

    ;)

    texto07.07.09 11:25 | # |

  19. Das ist leider nicht das richtige Plugin dafür :-(
    Das will mir immer nur die Kategorieren der Artikel anzeigen aber nicht die Unterseiten der Statischen Seiten (Pages), wie es mit dem Befehl hier aus dem Artikel geht.

    Marcel07.07.09 12:27 | # |

  20. ok vielleicht habe ich es jetzt verstanden..

    <?php
    $children='';
    if($post->post_parent) {
      $children = wp_list_pages("title_li=&include=".$post->post_parent ."&echo=0");
      $children .= wp_list_pages("title_li=&child_of=".$post->post_parent ."&echo=0");
    } else {
      $children = wp_list_pages("title_li=&include=".$post->ID ."&echo=0");
      $children .= wp_list_pages("title_li=&child_of=".$post->ID ."&echo=0");
    }
    if ($children) { ?>
      <ul>
      <?php echo $children; ?>
      </ul>
    <?php
    }
    ?>

    lg

    texto07.07.09 17:29 | # |

  21. Danke für die Hilfe aber jetzt wird das Menü der statischen Seiten 2x komplett inkl. Unterseiten rechts in der Sidebar angezeigt.

    Marcel08.07.09 09:36 | # |

  22. Marcel muss ich passen, bei mir tuts es, vielleicht zeigst du es ja auch zweimal an ;)

    texto08.07.09 11:21 | # |

  23. Also ich habe es nochmal probiert und bei einigen Seiten geht es, bei anderen nicht.
    Wahrscheinlich hat WordPress ein Problem wenn man die schon vorhandene statische Seite “Eine Seite” umbennent und darunter Unterseiten erstellt.
    Dann geht es anscheinend nicht.
    Dann ein problem, welches man unter History sehen kann.
    Wenn man dann die Jahre anklickt, wird nur die Seite von History angezeigt.

    Und wie gesagt, das alles soll nicht auf der startseite angezeigt werden.

    Marcel08.07.09 12:58 | # |

  24. Selbst im Standard WordPress Theme funktioniert es nicht

    Marcel08.07.09 13:17 | # |

  25. Ach man, irgendwie funktioniert das doch nicht.
    Das Menü für die Unterseiten in der Sidebar werden nicht mehr angezeigt, wenn man auf einer Unterseite ist :-(

    Marcel08.07.09 14:47 | # |

  26. Um es jetzt mal abzuschließen … der Code vom artikel funktioniert ja soweit wunderbar.
    Nur soll das alles, gerade wenn noch mehr Menüpunkte hinzukommen, einfach nicht auf der Startseite angezeigt werden.
    Kann man da was über den ‘Exclude’ befehl machen?

    Marcel09.07.09 11:04 | # |

  27. Hallo Leute

    ich habe das gleiche Problem wie Marcel.

    ich möchte zu bestimmten statischen Seiten nur die dazugehörigen Unterseiten in der Sidebar anzeigen. Hier gibt es zwei Hauptseiten (ID 2 und 5).
    ich verzweifel an dem Versuch Euren Code entsprechend anzupassen.

    @Marcel: Hast Du schon eine Lösung gefunden?

    Danke für Euren Support!

    Gruß
    mastermind

    Mastermind21.07.09 14:04 | # |

  28. Danke für diesen Artikel. Ich versuche gerade anstelle einer Liste der Subpages eine automatische Integration des Headers, des Datums, des Links und des Auszugstextes aller direkten Subpages einer statischen Seite zu erreichen. Formattechnisch wie bei der Anzeige einer Category.

    Weiss jemand, ob es hierfür eine “fertige” Lösung (function) gibt oder ob ich selber eine DB-Abfrage generieren muss?

    Danke

    Frank-Andre

    Frank-Andre Thies04.09.09 23:16 | # |

  29. wenn ich Dich versteh findest Du dies hier Subpages anzeigen auf ParentSeite in diesem Kommentar von mir .Unterseiten anzeigen lassen

    lg

    texto05.09.09 11:50 | # |

  30. Super, Danke, genau das ist es. Den Kommentar hatte ich leider übersehen.

    Nochmals Danke, sind übrigens einige gute Tipps auf Deiner Website zu finden!

    Frank-Andre Thies05.09.09 11:59 | # |

  31. freut mich Frank-Andre und Danke für die Rückmeldung :-)

    texto05.09.09 16:06 | # |

  32. hallo, mein problem ist ähnlicher natur, allerdings sollen die unterseiten in der navigationsleiste immer angezeigt werden. also auch wenn man nicht mit der maus drüberhovert. wie erkläre ich das wordpress(das theme ist wp-themes.com/autumn-leaves)?
    gruß

    fredellini05.12.09 10:18 | # |

  33. suche nach wp_list_pages hier dann findest du die Lösung ich kenne das Theme nicht und kann daher speziell nichts dazu sagen leider

    texto05.12.09 15:30 | # |

  • Name and Mail are required.