Как поместить цикл постов конкретной категории в общем виде вывода всех постов на страницу Wordpress?

Есть общая страница вывода кастомных типов постов, на странице есть поиск. Данный поиск работает по ajax (плагин "Search & Filter"), требуется, чтобы в общем выводе кастомных типов постов было деление на посты по конкретным категориям.

5dad63453f679681334644.jpeg

Вот общий вывод записей, он привязан к странице results.php
$count_items = -1;

if ($query->have_posts()) {
    ?>
    <br>
    <span>Найдено <?php echo $query->found_posts; ?> товара (товаров)</span><br>

    <div class="pagination"><?php next_posts_link('', $query->max_num_pages); ?></div>
    <div class="nav-next"><?php previous_posts_link(''); ?></div>


    <?php

        while ($query->have_posts()) {
            $query->the_post(); ?>

        <div class="offer__item">
            <img src="<?php the_field('image'); ?>" alt="">
            <span class="category__span">Категория товара</span>
            <span><?php the_title(); ?></span>
            <div>
                <button>Заказать</button>
                <button>Информация</button>
            </div>
        </div>

    <?php
        } ?>
    <div style="clear: both;"></div>
    <span class="page__count">Страница <?php echo $query->query['paged']; ?> из <?php echo $query->max_num_pages; ?></span>
    <div class="pagination">
        <div class="nav-previous"><?php next_posts_link('', $query->max_num_pages); ?></div>
        <div class="nav-next"><?php previous_posts_link(''); ?></div>
        <?php
            /* example code for using the wp_pagenavi plugin */
            if (function_exists('wp_pagenavi')) {
                echo "<br>";
                wp_pagenavi(array('query' => $query));
            } ?>
    </div>
    </div>
<?php
} else {
    echo "</br> Результатов не найдено :(";
}
?>
</div>


Как вывести посты вариантом теперь я знаю, но как это сделать внутри have_posts, чтобы еще поиск работал на все категории.
<?php $args = array( 'post_type' => 'testimonials', 'posts_per_page' => 99,);
      $loop = new WP_Query( $args ); ?>
      <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
                  	your html code
<?php endwhile; ?>
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@zordq Автор вопроса
Был сделан вывод категорий в отдельные секции методом -
<?php
/* Template name: Результаты */
/* Template part for displaying posts */
?>

<?php

$count_items = -1;

if ($query->have_posts()) {
    ?>
<section>
    <h2>Филлеры</h2>
    <?php $query = new WP_Query(array('post_type' => 'catalog', 'category_name' => 'fillers', 's' => $_GET['_sf_s'], 'posts_per_page' => 8)); while ($query->have_posts()) : $query->the_post(); ?>
    <a href="<?php the_permalink() ?>">
    <div class="offer__item">
        <img src="<?php the_field('image'); ?>" alt="">
        <span class="category__span">Категория товара</span>
        <span><?php the_title(); ?></span>
        <div>
            <button>Заказать</button>
            <button>Информация</button>
        </div>
    </div>
</a>
    <?php endwhile; wp_reset_postdata(); ?>
</section>

<section>
    <h2>Биоревитализанты</h2>
    <?php $query2 = new WP_Query(array('post_type' => 'catalog', 'category_name' => 'biorevitalizanty', 's' => $_GET['_sf_s'], 'posts_per_page' => 8)); while ($query2->have_posts()) : $query2->the_post(); ?>
    <a href="<?php the_permalink() ?>">
    <div class="offer__item">
        <img src="<?php the_field('image'); ?>" alt="">
        <span class="category__span">Категория товара</span>
        <span><?php the_title(); ?></span>
        <div>
            <button>Заказать</button>
            <button>Информация</button>
        </div>
    </div>
</a>
    <?php endwhile; wp_reset_postdata(); ?>
</section>

<?php
} else {
        echo "</br> Результатов не найдено :(";
    }
?>


Спасибо @Антон Куликов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы