Hallo, ich habe da mal ein recht spezielles Problem.
Ich arbeite gern mit Untermenüs für Unterseiten.
Also die Hauptebene bilde ich in einem Horizontalmenü im Header ab und falls eine Seite Unterseiten hat, erscheint im Sitebar ein entsprechendes Untermenü.
Das ganze realisiere ich mit folgendem Code im Sidebar, den ich mal in irgend einem Theme gefunden habe:
PHP
<?php /* Creates a menu for pages beneath the level of the current page */
if (is_page() and ($notfound != '1')) {
$current_page = $post->ID;
while($current_page) {
$page_query = $wpdb->get_row("SELECT ID, post_title, post_status, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
$current_page = $page_query->post_parent;
}
$parent_id = $page_query->ID;
$parent_title = $page_query->post_title;
if ($wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = '$parent_id' AND post_status != 'attachment'")) { ?>
<div class="sb-pagemenu"><h2><em><?php echo $parent_title; ?> <?php _e('- mehr'); ?></em></h2>
<ul>
<?php wp_list_pages('sort_column=menu_order&title_li=&child_of='. $parent_id); ?>
</ul>
<?php if ($parent_id != $post->ID) { ?>
<a href="<?php echo get_permalink($parent_id); ?>"><?php printf(__('Back to %s'), $parent_title ) ?></a>
<?php } ?>
</div>
<?php } } ?>
<?php if (is_attachment()) { ?>
<div class="sb-pagemenu">
<a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php printf(__('Back to \'%s\''), get_the_title($post->post_parent) ) ?></a>
</div>
<br/>
<?php } ?>
Alles anzeigen
Das ganze funktioniert fast perfekt.
Einziger Fehler, wenn eine Seite gar keine Unterseiten hat, soll natürlich auch kein Untermenü erscheinen, aber wenn eine Seite zwar keine Unterseiten aber Bilder hat, dann erscheint die Überschrift eines Untermenüs, also dieser Ausdruck
Das ist natürlich Mist. Kann mir jemand helfen, den Code zu verbessern - ich bin daran gesheitert.