Я использую плагин Easy Digital Downloads для продажи своей музыки.
Я хотел бы добавить пользовательскую форму поиска на странице архива загрузок, чтобы результаты отображались на этой странице.
Например, если вы перейдете на страницу storename.com/downloads и выполните поиск «что угодно», вы найдете все песни, которые содержат «что угодно» в их названии.
Итак, внутри файла archive-download.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 выше отображал ТОЛЬКО продукты с «любовью», но он продолжает показывать все продукты.
Любая помощь будет высоко ценится. спасибо
Я думаю, вам нужно изменить код для отображения содержимого, так как теперь вы ничего не показываете в боковом цикле.
<?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(); } ?>
Пожалуйста, проверьте, помогает ли это вам