I am using the Easy Digital Downloads plugin to sell my music.
I would like to add a custom search form inside the downloads archive page so the results will be displayed on that page.
For example, if you’ll go to storename.com/downloads and search for ‘whatever’, you’ll find all the songs that contain ‘whatever’ in their title.
So, inside the archive-download.php file I added:
<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>
but the problem is that when I’m searching for something, the url changed but the page displays the same content (it didn’t filter anything).
https://www.storename.com/downloads/?find=love&post_type=download
I would like to url above to display ONLY the products with ‘love’ but it keeps showing all the products.
Any help will be much appreciated.
Thank you