WooCommerce:自定义产品模板 - 分页不起作用

时间:2016-06-22 16:22:02

标签: php wordpress pagination wordpress-plugin woocommerce

显示所有产品。 "posts_per_page" 无效。我尝试将产品限制为12页,但它显示所有产品。

看起来我的代码很好,但它不起作用。

我的代码有什么问题?
有人可以开导我吗?

这是我的代码:

<?php
    $meta_query   = array();
    $meta_query[] = array('key' => '_visibility','value' => array('visible', 'catalog'),'compare' => 'IN');
    $meta_query[] = array('key' => '_stock_status','value' => 'instock','compare' => '=');
    if($min_price !='' && $max_price !=''){
        $meta_query[] = array('key' => '_price','value' => array($min_price, $max_price),'compare' => 'BETWEEN','type' => 'NUMERIC');
    }
    if($orderbym != '')
    {
      $mkey = '_price';
    }
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $query_args = array(
        'post_type'           => 'product',
        'post_status'         => 'publish',
        'posts_per_page'      => 10,
        'paged'               => $paged,
        'ignore_sticky_posts' => 1,
        'orderby'             => $orderby,
        'order'               => $order,
        'posts_per_page'      => -1,
        'meta_query'          => $meta_query,
        'meta_key'            => $mkey,
        'tax_query'           => array(
            array(
              'taxonomy'      => 'product_type',
              'field'         => 'slug',
              'terms'         => 'bundle',
            ),
            $product_catar
        ),
    );
    global $woocommerce_loop;
    $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $query_args));
    $columns   = '2';
    $woocommerce_loop['columns'] = $columns;
    ob_start();
    if($products->have_posts()){
      woocommerce_product_loop_start();
      while ( $products->have_posts() ) {
          $products->the_post();
          wc_get_template_part( 'content', 'product' );
      }
      woocommerce_product_loop_end();
   }else{
      _e( 'No product matching your criteria.' );
   }
   woocommerce_reset_loop();
   wp_reset_postdata();
   echo '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
?>

1 个答案:

答案 0 :(得分:0)

我想到的是过滤器可能会覆盖查询参数。看看你做了什么

CreateObject

我的猜测是你会得到不同的查询参数