搜索只适用于首页(索引),不适用于其他页面

时间:2015-11-25 作者:mizuki

我目前正在构建一个自定义WordPress模板,搜索框出现问题。

当我使用主页上的搜索框时,它会按预期工作。只要将永久链接设置为默认值,它也可以工作。(url.com/?page_id=1)

然而,当我在使用pretty permalinks时使用另一个页面的搜索框时,URL如下所示:http://url.com/pretty-page-title/?s=query出现404页。

我的搜索框代码如下所示

<form id="search-query"> <div class="search-box"> <form role="search" method="get" id="searchform" class="searchform" action="/index.php"> <div> <label class="screen-reader-text" for="s"><?php _x( \'Search for:\', \'label\' ); ?></label> <input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" /> <input type="submit" id="searchsubmit" value="<?php echo esc_attr_x( \'Search\', \'submit button\' ); ?>" /> </div> </form> </div> </form>

如果有人想查看,请查看以下网站的URL:http://hermodsgymnasiet-develop.kaigan.modxcloud.com/

非常感谢您的帮助!

2 个回复
最合适的回答,由SO网友:jgraup 整理而成

当前您的表单如下所示:

<form id="search-query">
    <p class="in-english"><a href="http://localhost/hermodswp/?page_id=76">Information in English</a></p>
    <div class="search-box">                
        <div>
            <label class="screen-reader-text" for="s"></label>
            <input type="text" value="sdf" name="s" id="s" style="width: 293px;">
            <input type="submit" id="searchsubmit" value="Sök">
        </div>
    </div>
</form>
尝试调整提交操作以指向您的home\\u url()。

action="<?php echo home_url(); ?>"
您可以在Chrome中编辑页面,以查看其是否正常工作。

<form role="search" id="search-query" method="get" action="http://hermodsgymnasiet-develop.kaigan.modxcloud.com/">
    <p class="in-english"><a href="http://localhost/hermodswp/?page_id=76">Information in English</a></p>
    <div class="search-box">        
        <div>
            <label class="screen-reader-text" for="s"></label>
            <input type="text" value="" name="s" id="s" style="width: 293px;">
            <input type="submit" id="searchsubmit" value="Sök">
        </div>
    </div>
</form>

SO网友:Amirhossein Rahmati

只需添加action="/"到您的表单!

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请