Нумерация страниц и пользовательский WP Query

Я разрешаю своим посетителям заказывать посты с помощью ценового фильтра на моем сайте category.php. У них есть 2 варианта: «Максимальная цена» и «Минимальная цена». Когда выбран фильтр, запрос работает нормально. Пагинация появляется, но она не работает правильно. Это всегда показывает первый пост на моей «page / 2 /», «page / 3 /» …

Я не знаю, почему это не работает Можете ли вы помочь мне?

    <?php get_header(); ?>
<section id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<header class="pages-header col-md-12">
<h1 class="page-title"> <?php single_cat_title(); ?> </h1>

<?php echo get_field('petite_description_cat', 'category_' . $cat);?>
</header><!-- .page-header -->

<?php
//Display form for the query
if($_GET['minprice'] && !empty($_GET['minprice']))
{
$minprice = $_GET['minprice'];
} else {
$minprice = 0;
}

if($_GET['maxprice'] && !empty($_GET['maxprice']))
{
$maxprice = $_GET['maxprice'];
} else {
$maxprice = 999999;
}
?>

<form method="get">
<label>min:</label>
<input type="number" name="minprice" value="<?php echo $minprice; ?>">
<label>max:</label>
<input type="number" name="maxprice" value="<?php echo $maxprice; ?>">
<button type="submit" name="">Filter</button>
</form>

<?php
// set up or arguments for our custom query
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'cat' => $cat,
'post_type' => 'post',
'posts_per_page' => 5,
'meta_query' => array(
array(
'key' => 'prix',
'type' => 'NUMERIC',
'value' => array($minprice, $maxprice),
'compare' => 'BETWEEN'
),
)
);
// create a new instance of WP_Query
$the_query = new WP_Query($args);
?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); // run the loop ?>

<?php
//on récupère le template
get_template_part( 'content-category', get_post_format() ); ?><?php endwhile; ?>

<?php if ($the_query->max_num_pages > 1) { // check if the max number of pages is greater than 1  ?>
<div class="clearfix"></div>

<?php //pagination
bootstrap_pagination();?>

<?php } ?>

<?php else: ?>
<?php get_template_part( 'no-results', 'archive' ); ?>
<?php endif; ?>

<?php
wp_reset_query();
//display description only on page 1
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ($page ==1)  {  echo category_description ( get_category_by_slug ( 'category-slug' )-> term_id );
} ?>

</main><!-- #main -->
</section><!-- #primary -->

<?php get_footer(); ?>

0

Решение

Решение только в $ args!

'paged'          => $paged,
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector