2010-11-19 4 views
3

Ich habe mir über diesen einen Kopf kratzt, also danke im Voraus für jede Hilfe. Sehr geschätzt.Benutzerdefiniertes Menü auf der Suchseite fehlt

wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary')); 

Es zeigt sich fein auf jeder Seite auseinander aus den Suchergebnissen: mit

Ich habe ein Menü in WP 3.0.1 bekam, die ich in header.php nennen. Die search.php Datei beginnt mit einem Standard get_header();, also muss es der Code wp_nav_menu sein, oder? Aber nichts ist in eine is_search() Bedingung oder irgendetwas eingewickelt.

Der Ausgang HTML sollte wie folgt aussehen:

<div class="menu-header"> 
    <ul id="menu-main-menu" class="menu"> 
     <li class="menu-item"> 
      <a>Link 1</a> 
     </li> 
     <li class="menu-item"> 
      <a>Link 2</a> 
     </li> 
    </ul> 
</div> 

Aber stattdessen wird es so weit wie die <ul> und nicht ausgibt keine <li> s:

<div class="menu-header"> 
    <ul id="menu-main-menu" class="menu"> 
    </ul> 
</div> 

meisten seltsam. Ist sonst noch jemand dazu gekommen? Ist es einfach viel zu spät und ich vermisse etwas Offensichtliches?

Antwort

4

@ ZoulRic-Code funktioniert gut, aber es bricht die Suchfunktion in der Medienbibliothek. Um dies zu verhindern add:

if(!is_admin()) 

kurz vor der letzten Zeile, so dass Ihr Code wie folgt aussehen:

function menu_fix_on_search_page($query) { 
    if(is_search()){ 
     $query->set('post_type', array(
     'attachment', 'post', 'nav_menu_item', 'film', 'music' 
     )); 
     return $query; 
     } 
    } 
if(!is_admin()) add_filter('pre_get_posts', 'menu_fix_on_search_page'); 
+0

ein guter Platz für die Suche in der Medienbibliothek. Ich bin mir ziemlich sicher, dass das im Kern gelöst wurde, aber ich dachte, ich sollte trotzdem eine Antwort akzeptieren. – SqrBrkt

+0

Ich habe genau das Gleiche gemacht, aber das Nav verschwindet trotzdem. Ich habe meine Suchanfrage nur ein wenig angepasst: code: https://css-tricks.com/snippets/wordpress/make-archives-php-include-custom- post-types/# comment-1594317 kann mir jemand helfen? –

4

Möglicherweise haben Sie einen Filter festgelegt, der die Abfrage abfängt, die für das Generieren der Navigationsmenüverknüpfungen verantwortlich ist, oder genauer, den vom Abfrageobjekt benötigten Posttyp 'nav_menu_item'.

4

Versuchen Sie diesen Code:

function menu_fix_on_search_page($query) { 
    if(is_search()){ 
     $query->set('post_type', array(
     'post', 'nav_menu_item' 
      )); 
      return $query; 
    } 
} 
add_filter('pre_get_posts', 'menu_fix_on_search_page'); 

dies in Ihrem Thema Dateien in functions.php einfügen.

+0

Ich hatte das gleiche Problem nur Seiten auf meiner Suchseite aufgelistet wurden, der Code, dass festgelegt. – elbatron

+1

Froh, dass es dir geholfen hat :) Wordpress behandelt Navigation als Post-Typ, so alles, was wir tun müssen, ist es in der Wordpress-Suchseite – ZoulRic

+0

Ich habe genau das gleiche, aber das Nav verschwindet sowieso .. Ich gerade habe meine Suchanfrage etwas angepasst: code: https://css-tricks.com/snippets/wordpress/make-archives-php-include-custom-post-types/#comment-1594317 kann mir jemand helfen? –

Verwandte Themen