PHP Wordpress Navigation

Timdaroxxa

Lieutenant
Registriert
März 2009
Beiträge
954
Heyho,
es geht um eine Navigation in WP, bei der ein Button als aktiv gekennzeichnet werden soll.

PHP:
<li class="navbar_button"><div <?php
                if (is_page('Startseite'))
                {
                echo " class=\"navbar_button_l\"";
                }?>></div><div <?php
                if (is_page('Startseite'))
                {
                echo " class=\"navbar_button_mid\"";
                }?>><a href="<?php bloginfo('url') ?>">Home</a></div><div <?php
                if (is_page('Startseite'))
                {
                echo " class=\"navbar_button_r\"";
                }?>></div></li>
Es handelt sich hierbei nur im einen Button. Die Unterteilungen rechts, mitte, links sind nur dazu da den Button strecken zu können.


Kann mir jemand kurz erklären, wie ich das Ganze mit einer foreach Schleife so bewerkstellige, dass ich statt dem Wert "Startseite" hier einen Wert aus einem Array auslese?

Gruß Tim

Und noch was anderes: Gibt es eine einfachere möglichkeit, etwas "active" wirken zu lassen?
 
ich würde das folgendermaßen lösen:
Neben deinen CSS-Klassen für die einzelnen Buttons würde ich eine weitere Klasse definieren, welche eine Änderung für den Aktiven Button festlegt (z.b. andere Hintergrundfarbe). Diese Klasse setzt du denn nur dort ein, wo die aktuelle Seite der Schaltfläche entspricht. Fpr die Ermittlung, welche Seite gerade generiert wird, kannst du die Conditional Tags verwenden.

Soll diese Abfrage denn für mehrere verschiedene Seiten funktionieren? Also nicht nur Startseite, sondern auch andere, und wenn ja, was für Seiten sind das? Pages, Archivseiten, Einzelartikelseiten?

Sinngemäß so:

PHP:
<?php
   $start = '';
   $page1 = '';
   $page2 = '';
   if( is_home()) // für die startseite
   {
      $start = 'active';
   }
   if(is_single('1')) // für einzel-Post-Ansicht
   {
      $page1 = 'active';
   }
   if(is_page('2')) //Für Pages
   {
      $page2 = 'active';
   }
   //Home-Button
   echo '<li class="navbar_button">
                <div class="navbar_button_l '. $start .'">
                </div>
                <div class="navbar_button_mid ' . $start .'"><a href="' . bloginfo('url') . '">Home</a>
                </div>
                <div class="navbar_button_r '. $start . '">
                </div>
             </li>';
   //Button für "Page 1"
   echo '<li class="navbar_button">
                <div class="navbar_button_l '. $page1.'">
                </div>
                <div class="navbar_button_mid ' . $page1.'"><a href="' . bloginfo('url') . '">Page 1</a>
                </div>
                <div class="navbar_button_r '. $page1. '">
                </div>
             </li>';?>

Das steuert jetzt erstmal nur, welcher Button als aktiv markiert ist. Die Css-Klasse 'active' muss dazu die zugehörigen Definitionen enthalten. Oder habe ich dich irgendwie missverstanden?
 
Zurück
Oben