2 Quick Tipps: Navigation der statischen Seiten aufteilen
Mag man die Navigation der statischen Seiten aufteilen kann man nicht auf vorgegebene Template Tags zurückgreifen. Oben die Hauptseiten, beim Klick auf eine Hauptseite die Unterseiten anzeigen.
So hie und da mag man die Anzeige der statischen Seiten aufteilen. Oben die “Parent” Seiten, in einer Sidebar die “Kinder” Seiten auch Subpages genannt. Hier einfach die “Codeschnippsel” wie ich das nenne, um dies zu bewerkstelligen:
Subpages nur anzeigen, wenn auch welche da sind.
<?php if(wp_list_pages("child_of=".$post->ID."&echo=0")) { ?> <ul> <?php wp_list_pages("title_li=&child_of=".$post->ID."&sort_column=menu_order&show_date=modified&date_format=$date_format");?> </ul> <?php } ?>
Subpages anzeigen, auch wenn man auf eine Subpage geklickt hat
<?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 } ?>
Widgets in der Sidebar
Wer Widgets in der Sidebar nutzt muss dafür ein Textwidget nutzen und braucht ein Plugin, das das Ausführen von PHP erlaubt. Aber Achtung diese Plugins stellen für den unbedarften Nutzer eine Gefahr dar!
Wie merke ich mir diese Quick Tipps für die Navigation
Bookmarken bei einem der Social Dienste hilft da ungemein.




HI eine Frage ;o
Wie bekomm ich es hin das als erster Link die Parent Page der Sub Pages angezeigt wird?
Lg
Steven
steven15.11.09 23:37 | # |
dazu nutzt du einfach normal wp_list_pages das tut dies ganz einfach so
texto15.11.09 23:52 | # |
das ging ja mal schnell
aber ich glaub ich hab mich falsch ausgedrückt wp_list_page würde doch jede Seite die ich angelegt habe Ausgeben oder nicht?
Ich möchte das das Script es so Ausgibt
|Parentpage
|-Childpage
|-Childpage
|-Childpage
und nicht das mir alle Seiten die mein Blog hat ausgegeben werden.
Im moment Gibt es ja nur
|
|-Childpage
|-Childpage
|-Childpage
|-Childpage aus.
steven16.11.09 00:16 | # |
dann exclude (suche hier auf Texto nach wp_list_pages) die Eltern-Seiten, die da nicht erscheinen sollen.
lg
texto16.11.09 10:31 | # |
hallo wie sieht das eigentlich in der navigationsleiste aus.
ich möchte das wordpress schlicht und ergreifend automatisch alle unterseiten ausklappt (und nicht erst wenn man drüberhoovert).
hier ist das theme: wp-themes.com/autumn-leaves
ich habe schon einige foren druchkämmt, aber niemand konnte mir helfen.
ratloser fredellini
fredellini09.12.09 21:16 | # |
hi ratloser
ich nehm an, das Theme hat die Navi in der header.php dort einfach den vorhandenen Code mit wp_list_pages ( title=li&depth=1 oder 2 oder 4 angeben
der Rest ist CSS
wie man dies genau schreibt findest Du hier ,wenn du nach wp_list_pages suchst
lg
texto09.12.09 21:54 | # |
hallo texto,
in der header.php gibt es kein wp_list_pages. ist das verwirrend?
ich habe aber herausgefunden, dass für das navimenü folgender codeschnippsel in der header.php verantwortlich ist:
in der function.php findet sich dazu:
// Produces a list of pages in the header without whitespace
function sandbox_globalnav() {
if ( $menu = str_replace( array( “\r”, “\n”, “\t” ), ”, wp_list_pages(’title_li=&sort_column=menu_order&echo=0′) ) )
$menu = ” . $menu . ”;
$menu = ” . $menu . “\n”;
echo apply_filters( ‘globalnav_menu’, $menu ); // Filter to override default globalnav: globalnav_menu
}
das theme basiert auf einen theme namens sandbox: http://wordpress.org/extend/themes/autumn-leaves
ich habe nun den wp_list_pages-teil, so geändert:
if ( $menu = str_replace( array( “\r”, “\n”, “\t” ), ”, wp_list_pages(’title_li=&sort_column=menu_order&echo=0&depth=2′) ) )
nix ist passiert. wie geht es richtig?
besten gruß
fredellini11.12.09 11:17 | # |
der codeschnippsel in der header.php heißt:
kann es sein das “depth=x” nur dafür da ist, wieviele seiten ausgeklappt werden, wenn man mit dem mauszeiger draufsteht und nicht, wieviele statisch immmer angezeigt werden? jedenfalls bewirkt es dies in meinem theme…
fredellini11.12.09 11:33 | # |
komisch code in header.php ohne klammern:
div id=”access”
?php sandbox_globalnav() ?
/div><!– #access –
fredellini11.12.09 11:35 | # |
// Produces a list of pages in the header without whitespace
hallo texto,
ein eintrag ist nicht im forum angekommen:
ich habe in der functions.php den navicode gefunden:
function sandbox_globalnav() {
if ( $menu = str_replace( array( “\r”, “\n”, “\t” ), ”, wp_list_pages(’title_li=&sort_column=menu_order&echo=0′) ) )
$menu = ” . $menu . ”;
$menu = ” . $menu . “\n”;
echo apply_filters( ‘globalnav_menu’, $menu ); // Filter to override default globalnav: globalnav_menu
}
leider ändert das hinzufügen von “depth=2″ nicht das statische anzeigeverhalten.
gruß fredellini
fredellini11.12.09 17:07 | # |
dann lösch das sandbox_globalnav und schreibe den Originalcode einfach rein
texto11.12.09 20:36 | # |
hab ich versucht, kein erfolg. im gegenteil wenn ich
[div id="access"]
[?php wp_list_pages(’title_li=&sort_column=menu_order&echo=0′) ?]
[/div><!-- #access --]
schreibe, kommt Parse error: parse error in E:\Software\xampp\htdocs\wordpress\wp-content\themes\autumn\header.php on line 22
langsam erreichen meine nerven ihre belastungsgrenze. seit einer geschlagenen woche google ich mich 5h täglich durch sämtliche foren und nichts hilft. so langsam denke ich, dass wordpress die geschichte vielleicht gar nicht unterstützt und einen dazu verdammt, unterseiten nur bei bedarf auszuklappen. solche kinderlitzchen … tsss tssss
mal ne zwischenfrage, wieso kriegt das forum die anführungsklammern des php-codes nicht gebacken? (ich hab die jetzt mit eckigen klammern ersetzt)
fredellini12.12.09 23:33 | # |
1.Frage leicht erklärt, das hier ist kein Forum, sondern die Kommentare in meinem Blog und da habe ich jeden Code den man so eingibt verboten, aus Sicherheitsgründen
2. parse errorbedeutet Du hast da was falsch geschrieben–schau mal ob die Hochkoma auch wirklich Hochkoma sind und nicht Schrägstriche kleine, also nach der Klammer und vor der schließenden Klammer musst Du Hochkomata setzen: die sind neben der Entertaste bei der Taste mit der Raute.
das echo = 0 brauchste nicht – also dies und das & vorher löschen
3. ne Riesentasse Kaffee und Ruhe hinstell
texto13.12.09 02:46 | # |
danke, die hochkommas waren falsch (mozilla hat das erste beim copy-paste einfach umgewandelt).
mit wp_list_pages(’title_li=&sort_column=menu_order′) in der header.php entsteht ein vertikales menü, wobei die unterseiten etwas eingerückt immer angezeigt werden. sieht aus wie eine gliederung. aber ich möchte ja ein horizentales menü.
mit wp_list_pages(’title_li=&sort_column=menu_order&echo=0&depth=2′) in der header.php hab ich gar kein menü mehr.
wenn ich globalnav() in der header.php lasse und wp_list_pages in der functions.php editiere, passiert im 1. fall das gleiche, jedoch wird im 2. fall das menü richtig horizontal dargestellt (nur das die unterseiten eben nicht automatisch ausgeklappt sind).
dehalb würde ich den globalnav() nicht aus der header.php rausschmeißen, sondern in der functions.php etwas ändern (denn dorthin wird ja offensichtlich auch verwiesen).
dafür spricht auch, dass meine unterseiten über die style.css ne andere schriftart haben und das mit globalnav() tatellos funktioniert.
vielleicht muss man doch nur in der style.css angreifen?
fredellini13.12.09 13:14 | # |
ok..dat wird ein wenig komplexer,


vor allem das CSS weil du ja immer alles gleich haben magst
dunimmst den Schnippsel von oben
subpages nur anzeigen, wenn auch welche da sind,
dann brauchst du das da horizontale Liste gestalten
ich glaub ich habe da mal nichts vergessen-aber wer weiß
texto13.12.09 16:26 | # |
hier die css zum menu: am günstigsten ist es natürlich, sich das theme alz zip runterzuladen und da einfach mal reinzuschauen.
function.php legt genau so ein div.menu-ding an.
in der style.css hab ich folgendes zusammengetragen:
div#menu ul li,div.gallery dl,div.navigation
div.nav-previous {float:left;}
/*menutext*/
#menu a {color: #003366;}
#menu a:hover {text-decoration:underline;}
#menu li.current_page_item a, #menu li.current_page_item a:hover {text-decoration: none;}
div#menu ul,div#menu ul ul {
line-height:30px; /*abstand parent – subpages*/
list-style:none;
margin:-15px; /*menuanfang*/
padding:15px;
}
/*menupunkte*/
div#menu ul a {
font-family: Georgia, “Times New Roman”, Times, serif;
font-size: 18px;
margin-right:25px; /*abstand*/
padding:0 0;
text-decoration:underline;
}
/*untermenu*/
div#menu ul ul li a { font-family: Georgia, “Times New Roman”, Times, serif; font-size: 13px; font-style: normal; color: #003366; margin-right:1.5em; /*abstand*/}
div#menu ul li ul {left:-999em; position:absolute;}
div#menu ul li:hover ul {left:auto;}
mir ist übrigens aufgefallen, dass wenn ich in einer unterseite bin, die navigationsleiste nur die ebene mit den elternseiten anzeigt. die horizentallinie mit den unterseiten wird wirklich nur bei beim hovern eingeblendet.
gruß fredellini
fredellini13.12.09 18:41 | # |
fredellini ich kann dir nicht deine Navigation komplett machen, das läßt meine Zeit nicht zu, geschweige denn mir das Theme holen und dann tun
was sagt denn der ThemeAutor?
texto13.12.09 19:48 | # |
weder der autor vom autumn leaves noch der autor vom sandbox theme zuckt sich.
ich würde auch dir 20 euro bezahlen, wenn dus hinbekommst. viele grüße.
fredellini15.12.09 12:19 | # |
fredelline ist ja weniger ne Frage des Geldes als der Zeit
schick mir mal per email die URL
lg
texto15.12.09 15:12 | # |
hallo texto, ich hab mir wieder mal selbst geholfen und mir ein menü gebaut.
der knackpunkt ist, das wordpress von hause aus mit wp_list_pages augenscheinlich das immerwährende anzeigen der menüpunkte eben nicht beherrscht. mit einem kleinen trick kann man aber ein plugin namens pagesnav genau dazu bringen.
alles nochmal nachzulesen unter:
http://forum.wordpress-deutschland.org/design/61877-navigationsleiste-unterseiten-immer-einblenden.html#post290967
trotzdem danke
fredellini
fredellini17.12.09 16:32 | # |