如何将搜索框添加到导航菜单?

时间:2015-10-15 作者:SparkAndShine

我想在nav菜单中添加一个搜索框,方法是在functions.php (在文件末尾,但在?>).

add_filter( \'wp_nav_menu_items\',\'add_search_box\', 10, 2 );
function add_search_box( $items, $args ) {
    $items .= \'<li>\' . get_search_form( false ) . \'</li>\';
    return $items;
}
但是,搜索框不会出现。

<小时>EDIT: 实际上,上面的代码没有问题。单击搜索图标时(PS:我使用的主题是Radiate), 出现两个搜索框。

What I expect is to place the search box inside the nav menu, 不需要单击即可显示搜索框:

enter image description here

PS:这是searchform.php:

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( \'/\' ) ); ?>">
    <label>
        <span class="screen-reader-text"><?php _ex( \'Search for:\', \'label\', \'radiate\' ); ?></span>
        <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( \'Search &hellip;\', \'placeholder\', \'radiate\' ); ?>" value="<?php echo esc_attr( get_search_query() ); ?>" name="s">
    </label>
    <input type="submit" class="search-submit" value="<?php echo esc_attr_x( \'Search\', \'submit button\', \'radiate\' ); ?>">
</form>

1 个回复
最合适的回答,由SO网友:Benjamin Love 整理而成

你的代码对我来说是完美的。我唯一能想到的是你有一个搜索表单。主题中定义了php,但它是空的?(如果主题中不存在searchform.php,WP将使用默认表单。)