2

我在 WordPress 页面模板中有一个搜索表单。我想在与搜索表单相同的页面上显示结果,但我尝试的所有方法似乎都不起作用。我尝试将输入名称替换ssearchas 以绕过 WordPress 的默认查询,将操作字段留空以及使用当前页面的永久链接get_permalinkecho esc_url( get_permalink( get_page_by_title( 'Page_Template' ) ) ),并编写自定义循环。我尝试的一切似乎要么抛出 404 page not found 错误,要么重定向到主页。

这是我正在使用的修改后的搜索表单和循环:

<form method="get" id="searchform" action="<?php echo esc_url( get_permalink( get_page_by_title( 'Page_Template' ) ) )?>">
    <label for="s" class="assistive-text">Search</label>
    <input type="text" class="field" name="search" id="search" placeholder="Search" />
    <input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
</form>


<?php
    if ( isset( $_REQUEST[ 'search' ] ) ) {
        // run search query
        query_posts( array(
            's' => $_REQUEST[ 'search' ],
            'paged' => get_query_var('paged')
        ) );

        // loop
        if ( have_posts() ) : while ( have_posts() ) :
            echo '<li>';
            echo '<a href="'.the_permalink().'">'.the_title().'</a>';
            echo '</li>';
        endwhile; endif;

        // return to original query
        wp_reset_query();
    }?>  

此示例引发 404 page not found 错误。

任何帮助将不胜感激,我已经在这几个小时了,似乎无法得到它。提前致谢。

4

0 回答 0