How to add search to menu?

时间:2016-06-29 作者:Aipo

如何将搜索添加到菜单?我想要:

add_filter(\'wp_nav_menu_items\',\'add_search_box_to_menu\', 10, 2);

function add_search_box_to_menu( $items, $args ) {
    if( $args->theme_location == \'primary\' )
    return $items. get_search_form ();
return $items;}
在我的functions.php. 但它称之为标准搜索模板。我已经创建了searchform.php在我的子主题文件夹中。

这部分是示例,但它是硬编码的。

return $items."<li class=\'menu-header-search\'>
<form action=\'http://example.com/\' id=\'searchform\' method=\'get\'>
<input type=\'text\' name=\'s\' id=\'s\' placeholder=\'Search\'></form></li>";

1 个回复
最合适的回答,由SO网友:P-S 整理而成

使用get_search_form 过滤器:

add_filter(\'wp_nav_menu_items\',\'add_search_box_to_menu\', 10, 2);
function add_search_box_to_menu( $items, $args ) {
    if( $args->theme_location == \'primary\' )
        return $items. get_search_form();

    return $items;
}

add_filter( \'get_search_form\', \'custom_search_form\' );
function custom_search_form( $form ) {
    ob_start();

    // get_stylesheet_directory will get 
    // the main directory of the child theme
    include( get_stylesheet_directory() . \'/searchform.php\' );

    $form = ob_get_clean();
    return $form;
}

相关推荐

使用WP-CLI和/或Search-Replace-DB迁移多站点

我有一个Wordpress 5.5/PHP7.3多站点生产站点安装,我正在尝试将其迁移到本地LAMP开发环境,以便进行编辑。The Problem: 就是在运行Search Replace DB脚本或WP Cli多站点迁移脚本时。一个子网站完美地加载到新的开发域上,同时主网站和具有相同主题的子网站成功加载,但主题似乎已中断(基于visual composer)。可能还有其他非视觉错误。我已经下载了所有文件,正确配置了LAMP virtualhost,并通过PHPMYADMIN将数据库导入到我的本地LAMP