👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
На моём сайте на WP понадобилось модернизировать поиск так, чтобы выдача найденного показывалась по категориям. То есть, если искомая фраза наблюдается в разных новостях, а эти новости расположены в разных категориях, то необходимо вывести следующим образом:

Как реализовать подобный вывод результатов поиска?


Примерный код search.php с группировкой по категориям:
<code><?php get_header(); ?> <div class="content"> <?php $s = get_search_query(); ?> <div class="search"> <div class="categoryThumbs"> <?php if (have_posts()) : ?> <h3><?php printf( __( 'Search Results for: %s'), '<span>' . get_search_query() . '</span>' ); ?></h3> <?php endif;?> <?php query_posts("s='$s'&category_name=blog"); ?> <?php if (have_posts()) : ?> <?php $blogResults=0; ?> <?php while (have_posts()) : the_post(); ?> <?php $blogResults++; ?> <?php endwhile; ?> <h4><?php echo $blogResults; ?> Results in BLOG</h4> <?php while (have_posts()) : the_post(); ?> <div class="films"> <div class="thumb"> <a href="<?php the_permalink() ? rel="nofollow ugc">"><?php the_post_thumbnail(); ?></a> </div> <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ? rel="nofollow ugc">" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3> <div class="entry"> <?php the_excerpt() ?> </div> </div> <?php endwhile; ?> <?php endif;?> <?php query_posts("s='$s'&category_name=films"); ?> <?php if (have_posts()) : ?> <?php $blogResults=0; ?> <?php while (have_posts()) : the_post(); ?> <?php $blogResults++; ?> <?php endwhile; ?> <h4><?php echo $blogResults; ?> Results in Films</h4> <?php while (have_posts()) : the_post(); ?> <div class="films"> <div class="thumb"> <a href="<?php the_permalink() ? rel="nofollow ugc">"><?php the_post_thumbnail(); ?></a> </div> <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ? rel="nofollow ugc">" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3> <div class="entry"> <?php the_excerpt() ?> </div> </div> <?php endwhile; ?> <?php endif;?> <div class="spacer"></div> </div> </div> </div> <?php get_footer(); ?></code>Спасибо Вам огромнейшее! Давно пытался это осуществить :)
А вы не подскажите, как можно сделать постраничную навигацию каждой категории в выводе поиска без перезагрузки всей страницы?
В дополнение к предыдущему посту:
Или..можно сделать так, чтобы выводились все посты на одной странице?
Извините за большое количество вопросов.. Получилось вывести все результаты поиска на одной странице.
Подскажите пожалуйста, а как можно сделать видимыми только часть из них, чтобы остальные были доступны по ссылке “Показать все” ?