Guten Morgen,
ich verwende folgendes Skript in der sidebar.php zur Ausgabe eines Menü's in einer Seitenleiste. Hier sollen nur Unterseiten ausgeben werden. Überhalb des Menü's soll immer der Titel der Seite auf Ebene 1 ausgegeben werden.
Also z.B.:
Code
Seite 1 (Hauptseite Ebene 2)
Seite 1.1 (Unterseite)
Seite 1.1.1 (Unterseite Ebene 3)
Seite 1.2 (Unterseite Ebene 2)
Seite 1.3 (Unterseite Ebene 2)
...
Wenn Seite 1.1,1.2,1.3 oder 1.1.1 aktiv ist, soll der Name der Seite 1 ausgeben werden.
Hoffe ich konnte mein Problem verständlich erklären :)
PHP
<?php
/* Untermenü Seitenleiste
* http://codex.wordpress.org/Function_Reference/wp_list_pages#List_whole_subpages
*/
$ancestor_title = get_the_title($post->post_ancestor);
if(!$post->post_parent){
// will display the subpages of this top level page
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&sort_column=post_title"); // sort_column: post_title = ABC, menu_order = wp-admin
} else {
// diplays only the subpages of parent level
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
if($post->ancestors) {
// now you can get the the top ID of this page
// wp is putting the ids DESC, thats why the top level ID is the last one
$ancestors = end($post->ancestors);
$children = wp_list_pages("title_li=&child_of=".$ancestors."&echo=0&sort_column=post_title");
// you will always get the whole subpages list
}
}
if ($children) { ?>
<h6 class="ym-vtitle"><?php echo $ancestor_title; ?></h6>
<ul class="ym-vlist ym-clearfix">
<?php echo $children; ?>
</ul>
<?php
}
Alles anzeigen