0

だから私は私のメニューに検索バーをレンダリングするためにクールな小さな関数を使用しています. ここでチェックしてください:

    function add_search_to_wp_menu ( $items, $args ) {
    if( 'main-menu' === $args -> theme_location ) {
$items .= '<li class="menu-item menu-item-search">';
$items .= '<form method="get" class="menu-search-form" action="' . get_bloginfo('home') . '/"><p><input class="text_input" type="text" value="Enter Text &amp; Click to Search" name="s" id="s" onfocus="if (this.value == \'Enter Text &amp; Click to Search\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Enter Text &amp; Click to Search\';}" /><input type="submit" class="my-wp-search" id="searchsubmit" value="search" /></p></form>';
$items .= '</li>';
    }
return $items;
}
add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);

私はそれを作りませんでした-しかし、それは仕事をしています。

したがって、唯一の問題は、それが最上位に表示されることです。

<ul>
<li>Normal Item</li>
<li>OH LOOOK THE SEATCHBAR APPEARS HERE</li>
</ul>

問題は、メニューにさらに数ステップ下に表示する必要があることです。つまり、ここにあります:

<ul>
 <li>
   Normal Item
    <ul>
      <li>
           I want THE SEARCH to appear here
      </li>
   <ul>
 </li>
</ul>

<ul><li><ul><li>それだけでなく、メニューの最後以降に出してほしい…

IE、独自のサブアイテムを持つ 3 つの通常のアイテムのリストがある場合、注入されると次のようになります。

   <ul>
     <li>
       Normal Item1
     </li>
     <li>
       Normal Item2
     </li>
     <li>
       Normal Item3
     </li>
     <li>
       Normal Item
        <ul>
          <li>
           I want THE SEARCH to appear here
          </li>
       <ul>
     </li>
    </ul>

うまくいけば、それは理にかなっています。助けてくれてありがとう!

4

1 に答える 1