Hallo zusammen.
Ich habe eine Frage zur Darstellung der Menüpunkte.
Ich nutze WP als cms mit vorwiegend statischen Seiten. Im header habe ich die horizontale Hauptnavigation untergebracht und in der sidebar erscheinen die jeweils zum aktiven Hauptmenupunkt dazugehörigen Untermenüpunkte. Das funktioniert auch alles wunderbar, jetzt möchte ich noch über dem Untermenu in der sidebar den jeweilig aktiven Hauptmenüpunkt stehen haben, aber eben nur den einen aktiven und nicht alle, quasi als überschrift. Zu dem Thema habe ich leider nichts gefunden. Kann mir jemand helfen?
Herzlichen Dank :mrgreen:
die sidebar.php sieht wie folgt aus:
<div id="sidebar">
<ul>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?>
<?php /* If this is the frontpage */ if ( !is_home() ) { ?>
<li>
<h2><a href="<?php echo get_settings('home'); ?>">Home</a></h2> <ul><?php if($post->post_parent) {$children=wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
} else {$children=wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");}
if ($children) {echo $children;}
?><?php } ?>
<?php endif; ?>
</ul>
</li>
<p> </p>
</ul>
</div>
ach ja und gleich noch eine Frage... funktioniert das more-tag auf statischen Seiten nicht? und gibt es eine alternative Lösung für das Umbrechen langer Texte?
danke :-)
navigation, darstellung untermenü
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
0. http://forum.wordpress-deutschland.org/plugins-und-wi…-den-posts.html
1. Such mal nach dem Plugin "fold_page_list".
2. <!--nextpage--> sollte das tun. (<!--more--> geht natürlich nicht, weil du ja keine "Vorschau" der Seite hast wie bei den Beiträgen sondern direkt auf die Seite verlinkst.)
-
Oh 1000 Dank, <nextpage> mit Plugin funktioniert :-D
Hatte ich sogar schon installiert zusammen mit plugin fold_category_list, mit dem ich mein 1. problem lösen wollte.
äm... dazu hast du nicht zufällig die ultimative lösung? :mrgreen: -
Ja. Lies dir mal die Tipps und Beispiele hier durch. Da dürfte dein Problem auch mit erschlagen werden:
Template Tags/wp list pages « WordPress Codex -
Nochmal vielen Dank marX.
An dieser Seite bin ich gestern Nacht auch hängen geblieben, habe aber kein tag gefunden, mit dem ich die Ausage automatisieren kann, also ohne manuell die IDs mit exclude oder include etc festzulegen. Aber da bleibt dann wohl nichts anders übrig als das für jedes Template separat festzulegen.
Vielen Dank trotzdem :-) -
Was ist mit dem Beispiel "List Sub-Pages"?
PHP
Alles anzeigen<ul> <?php wp_list_pages('title_li=&child_of='.$post->ID.'&show_date=modified&date_format=$date_format'); ?> </ul> <?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0'); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?>Tut das nicht genau das was du möchtest? Per include und der Variablen $post->ID kannst du ja nur die gewünschte Oberseite anzeigen.
-
jo. im prinzip ist es es genau das was ich brauche. aber ich kriegs trotzdem nicht hin. :-| ich krieg jetzt als oberseitentext die jeweilige ID-Ziffer als Überschrift und nicht den Menüpunkt als Text. :confused:
ich bastel noch n bisschen. :-)
danke.
Ich habs jetzt individuell gelöst. 1000 Dank nochmal für die Hilfe.
:-) -
Super, hat mir auch geholfen, bei mir hat es so geklappt:
PHP<?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0'); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?>in der Sidebar.php direkt unter:
Wie kann ich denn noch die "Geschwisterseiten" anzeigen lassen wenn ich auf einer Unterseite bin?
-
Das sollte so klappen:
PHP<?php if($post->post_parent) $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); else $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?>
Steht ebenfalls auf der oben verlinkten Codex-Seite. Wichtig hier ist die Variable $post->post_parent, die die ID der Oberseite enthält. Hinweise im Codex beachten! -
Das sollte so klappen:
Super, klappt auch, danke vielmals.
-
kann man auch das Widget Menu speziell bearbeiten um die Untermenupunkte anzeigen zu lassen oder eben nicht?
Ich möchte halt gern die Widgetfähigkeit beibehalten. -
Entweder ein Widget mit dieser Funktion selbst schreiben (oder im Plugin-Repository nachsehen obs bereits was passendes gibt)... oder (meiner Ansicht nach weniger sauber) ein Plugin installieren, mit dem PHP-Code in Widgets ausgeführt wird.
-
das was ich da so gefunden habe ist nicht ganz funktional oder entspricht nicht ganz meinen Vorstellungen.
Der entsprechende Code in der sidebar.php lautet:
PHP
Alles anzeigenwp_list_pages( array( 'sort_column' => 'menu_order', 'title_li' => sprintf( '<%s class="widgettitle">%s</%s>', $tag_widget, str_replace('&', '%26', __('Pages', 'mandigo')), $tag_widget ), ) );Nun will ich halt die Unterseiten nur anzeigen lassen, wenn ich mich auf der entsprechenden Elternseite darüber befinde. Ansonsten nur die Elternseiten auf der home-Seite.
Im Wordpress Codex finde ich folgenden Code, der mir dies bewerkstelligen soll:
PHP<?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0'); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?>Bisher konnte ich ihn nicht einbinden ohne Fehlermeldungen :(
Könnt ihr mir helfen?Danke.
-
Ich hoffe mal ich hab mich nicht bei den Klamemr verzählt... :-)
PHP
Alles anzeigen<?php $children = wp_list_pages( array( 'sort_column' => 'menu_order', 'title_li' => sprintf( '<%s class="widgettitle">%s</%s>', $tag_widget, str_replace('&', '%26', __('Pages', 'mandigo')), $tag_widget ), 'child_of' => $post->ID, 'echo' => false )); ?> <?php if ($children) : ?> <ul> <?php echo $children; ?> </ul> <?php endif; ?>
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!