• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Wordpress Theming: Navigation & Subnavigation

knacky

Tydemans Early Worcester
Registriert
09.10.06
Beiträge
396
Hallo allerseits

Ich arbeite derzeit rein Hobbymässig daran ein selbsterstelltes HTML/CSS Template nach Wordpress zu schieben. Das erste mal, dass ich sowas mache. Ich hab jetzt hier zwei kleine Probleme.

1.) Ich habe im HTML/CSS Template eine Navigation, bei welcher die Unterpunkte jeweils durch zwei Backslashs getrennt sind. Also z.B. so:

Home // News // Links // Downloads // etc.

Diese Backslashs sind direkt im HTML Dokument nach dem </li> Tag. Im Wordpress Theme habe ich ja jetzt anstelle der
Code:
<ul id="meinenav">
   <li><a href="#">link</a></li> //
</ul>
nur noch
Code:
<ul id="meinenav"><?php wp_list_pages('sort_column=menu_order&title_li='); ?></ul>
Wie krieg ich nun diese // wieder zwischen die Links?

2.) Eine Seite, aber eben wirklich nur eine Seite, verfügt über ein Untermenü. Dieses Untermenü wird natürlich auch nur angezeigt wenn man auf dieser Seite landet.

z.B.

Downloads:

  • Programme
  • Bilder
  • etc.
Wie krieg ich das in Wordpress hin? Ich möchte das so generell wie möglich lösen. Sprich wenn in Zukunft wieder eine Seite kommt, mit unterpünkten (=>Subpages) soll das Theme auch wieder nur die Links für diese Seite anzeigen.

Ich habe da bereits einwenig experimentiert und weiss, dass ich mit <?php wp_list_pages('sort_column=menu_order&title_li=&depth=1'); ?> nur die, nennen wir sie mal, Primary Links angezeigt bekomme.

Wenn ich jetzt z.B.
Code:
<ul id="Subnavigation"><?php wp_list_pages('sort_column=menu_order&title_li=&depth=2'); ?></ul>
schreibe, erhalte ich alle Subpages. Ich möchte aber nur diejenigen welche auf die "Stamm"-Seite zutreffen. Für Downloads wäre diese z.B. Programme, Bilder und etc.

Wie gesagt, am liebsten so generell wie möglich ohne inclue page id oder exclue page id

Für die richtigen Antworten gibts Dank und Karma :) Besten Dank im Voraus!

Freundliche Grüsse
 
Zuletzt bearbeitet:

knacky

Tydemans Early Worcester
Registriert
09.10.06
Beiträge
396
Hallo allerseits

Die erste Frage kann ich nach wie vor nicht beantworten. Die zweite Frage jedoch schon, vielleicht interessiert es jemanden?

Zuerst die normale Navigation, wie ich oben bereits beschrieben habe:

Code:
<ul id="mainnav">
    <li><?php wp_list_pages('sort_column=menu_order&title_li=&depth=1'); ?>
    </ul>
Und für die Subnavigation, fügt man folgendes ein:

Code:
<?php global $wp_query; if( empty($wp_query->post->post_parent) ) {
$parent = $wp_query->post->ID;
} else {
$parent = $wp_query->post->post_parent;
} ?>
<?php if(wp_list_pages("title_li=&child_of=$parent&echo=0" )): ?>
<ul id="subnav">
<?php wp_list_pages("title_li=&child_of=$parent" ); ?>
</ul>
<?php endif; ?>

Hat mir zu meiner ersten Frage evtl. noch jemanden einen Tipp?

Freundliche Grüsse
 

C.Schwab

Finkenwerder Herbstprinz
Registriert
24.06.07
Beiträge
466
Frage nebenbei: Möchtest du Wordpress lediglich als CMS nutzen, oder auch die BLogfunktion Sidebar etc in vollem Umfang?
 

maery

Cox Orange
Registriert
04.02.09
Beiträge
98
ich kann dir da vielleicht einen tipp geben: schau dir beispielsweise mal dieses theme an:

http://cordobo.com/free-wordpress-templates/green-park-2/

wenn du dir den quelltext einmal ansiehst, dann zeigt sich, dass es zunächst im "html" quellcode ähnlich läuft wie bei dir. der "trick" ist nun folgender: du vergibst dem home link ein andere css tag als den restlichen links - für diese bestimmst du dann, dass sie alle vor dem abgerufenen inhalt (respektive seitennamen) immer ein "//" stehen haben. so kommst du logisch ans ziel und hast am ende kein überflüssiges "//" stehen und auch die home seite, sollte ja überall fest angezeigt werden - ist ja standart.

dass wäre dann folgender code im beispieltheme greenpark:
Code:
<ul id="menu">
  		<li class="page-item-home <?php if ( is_home() ) { ?> current_page_item <?php } ?>"><a href="<?php echo get_option('home'); ?>/">Home</a></li>
  		<?php greenpark_globalnav() ?>
		</ul>

wenn du mehr erklärung brauchst, melde dich - ich weiß nicht, wie fit du bist.

liebe grüße aus würzburg.
 
  • Like
Reaktionen: knacky

knacky

Tydemans Early Worcester
Registriert
09.10.06
Beiträge
396
Frage nebenbei: Möchtest du Wordpress lediglich als CMS nutzen, oder auch die BLogfunktion Sidebar etc in vollem Umfang?

Hallo C.Schwab

Vielen Dank für die Antwort. Ich möchte Wordpress rein als CMS missbrauchen. Sidebar wird es also keine geben.

ich kann dir da vielleicht einen tipp geben: schau dir beispielsweise mal dieses theme an:

http://cordobo.com/free-wordpress-templates/green-park-2/

wenn du dir den quelltext einmal ansiehst, dann zeigt sich, dass es zunächst im "html" quellcode ähnlich läuft wie bei dir. der "trick" ist nun folgender: du vergibst dem home link ein andere css tag als den restlichen links - für diese bestimmst du dann, dass sie alle vor dem abgerufenen inhalt (respektive seitennamen) immer ein "//" stehen haben. so kommst du logisch ans ziel und hast am ende kein überflüssiges "//" stehen und auch die home seite, sollte ja überall fest angezeigt werden - ist ja standart.

dass wäre dann folgender code im beispieltheme greenpark:
Code:
<ul id="menu">
          <li class="page-item-home <?php if ( is_home() ) { ?> current_page_item <?php } ?>"><a href="<?php echo get_option('home'); ?>/">Home</a></li>
          <?php greenpark_globalnav() ?>
        </ul>
wenn du mehr erklärung brauchst, melde dich - ich weiß nicht, wie fit du bist.

liebe grüße aus würzburg.

Hallo maery

Auch dir herzlichen Dank für deine Antwort. Sie hat mir sehr geholfen. Nun habe natürlich noch den Wunsch diese // zu stylen. Dabei dachte ich an ein <span> Element. Auch sind die Menüpunkte weiter auseinander. Also z.B. so:

//____News____//____Downloads____//____Links____//____Blabla____//

Denkt euch bitte die "____" weg. Mit Leerzeichen hat es nicht funktioniert.

Ich hoffe, ich konnte mein Vorhaben verdeutlichen. Und nochmals Danke für die Antworten!

Freundliche Grüsse