twentyten Menüs und Internet Explorer 7

21. Februar 2011 - wordpress

Seit dem Theme twentyten hat WordPress ein „richtiges“ Navigations-Menü für Seiten. Das ist besonders wichtig, wenn man WordPress nicht nur als Blog, sondern auch als CMS benutzen möchte.

Wenn man den IE7 dabei nicht auschließen möchte, gib es hier ein Problem. IE7 stolpert über die Tool-Tipps, die beim Überfahren der einzelnen Menüpunkte erzeugt werden:

  • Maus über einem Menüpunkt klappt alle untergeordneten Menüpunkte auf
  • fährt man im aufgeklappten Menü nach unten und ist genügend schnell, passiert nichts
  • fährt man langsam hinunter, erscheinen für jeden Menüpunkt Tool-Tipps in dem typischen Rechteck.
  • fährt man dann weiter hinunter und über solch ein Rechteck, fällt das ganze Menü zusammen

Das lässt sich auch bei einer Standard-Installation demonstrieren, wenn man ein paar Unterseiten angelegt hat und anschließend das Menü ausprobiert.

Als Lösung kann man die Tool-Tipps aus den Menü-Informationen (wp_nav_menu) so entfernen:

<div id=“access“ role=“navigation“>
    <?php /* Our navigation menu.  If one isn’t filled out, wp_nav_menu falls back to wp_page_menu.  The menu assiged to the primary position is the one used.  If none is assigned, the menu with the lowest ID is used.  */ ?>
    
<?php $premen=wp_nav_menu( array( ‚container_class‘ => ‚menu-header‘, ‚theme_location‘ => ‚primary‘,’echo’=>’0′ ) );
    $pattern=’/title=“.*?“/‘;
    $replacement=““;
    $premen=preg_replace($pattern,$replacement,$premen);
    echo ($premen);
    ?>
   </div>

Bevor das Menü in das div eingefügt wird, werden alle tool-tipps (title=“….“) herausgelöscht. Dafür kann man die php Funktion preg_replace benutzen. Anschauen kann man sich das hier