自定义搜索以在同一页中显示结果

时间:2017-11-21 作者:idomskt

我正在使用Easy Digital Downloads插件来销售我的音乐。

我想在下载存档页面中添加一个自定义搜索表单,以便结果显示在该页面上。

例如,如果要转到storename。com/下载并搜索“whatever”,你会找到标题中包含“whatever”的所有歌曲。

所以,在存档下载中。我添加的php文件:

<div class="search-in-store">

<form role="search" method="get" id="searchform" class="searchform" action="<?php echo home_url( \'/downloads/\' ); ?>">
<div>
<label class="screen-reader-text" for="find">Search for:</label>
<input type="text" value="" name="find" id="find" />
<input type="hidden" name="post_type" value="download" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>        


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

        // loop
        if ( have_posts() ) : while ( have_posts() ) : the_post();
            // loop through results here
        endwhile; endif;

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

</div>
但问题是,当我搜索某个内容时,url发生了变化,但页面显示的内容相同(它没有过滤任何内容)。

https://www.storename.com/downloads/?find=love&post_type=download
我想在上面的url中只显示带有“love”的产品,但它会一直显示所有的产品。

任何帮助都将不胜感激。非常感谢。

1 个回复
SO网友:Pratik bhatt

我认为您需要修改代码以显示内容,因为现在您没有在侧循环中显示任何内容。

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

        // loop
        if ( have_posts() ) : while ( have_posts() ) : the_post();
            // 
?>
<a href="<?php the_permalink();?>"><?php the_title();?> </a>
<?php 

        endwhile; endif;

        // return to original query
        wp_reset_query();
    }
?>       
请检查这是否对您有帮助

结束

相关推荐

how to search everything

我们有一个使用BuddyPress、bbPress等的Wordpress内部网。。从…起this article, 我调整了主题searchform.php 包括:<input type=\"hidden\" name=\"post_type[]\" value=\"docs\" /> <input type=\"hidden\" name=\"post_type[]\" value=\"events\" /> <input type=\"hidden\" n