Не работает пагинация на странице с распродажей. Суть такая. Взял стандартный archive-product.php, создал из него шаблон для страницы с отбором товаров по распродаже. Все выводится и работает кроме пагинации.. урл меняется при переключении страниц, но все равно выводятся первые 20 товаров, хоть на 2ой, хоть на 4ой странице. И в списке страницы "current" всегда остается первая. Вот код шаблона:
<?php
/**
* Template Name: page-sale
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
get_header( ); ?>
<main>
<div class="container container-main">
<div class="row">
<div class="col-md-9">
<?php
do_action( 'woocommerce_before_main_content' );
?>
<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
<h1 class="page-title">Распродажа!</h1>
<?php endif; ?>
<?php
do_action( 'woocommerce_archive_description' );
$args = array(
'post_type' => 'product',
'meta_query' => array(
'relation' => 'OR',
array( // Simple products type
'key' => '_sale_price',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
)
)
);
query_posts( $args );
?>
<?php if ( have_posts() ) : ?>
<?php
do_action( 'woocommerce_before_shop_loop' );
?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
do_action( 'woocommerce_after_shop_loop' );
?>
<?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php wc_get_template( 'loop/no-products-found.php' ); ?>
<?php endif; ?>
</div>
<?php
do_action( 'woocommerce_after_main_content' );
?>
<?php get_sidebar(); ?>
</div>
</div>
</main>
<?php get_footer( ); ?>