WP_Query分页为所有页面返回1

时间:2017-02-14 14:04:54

标签: php wordpress pagination

我正在使用WPeCommerce插件的网站上工作。分页已破,它显示所有页面上的首页产品。首先,循环没有使用自定义查询,因此我添加了一个带有分页参数以查看它是否有用。但是当我打印查询时,分页总是返回1,即使我将它硬编码为2的值。有人知道为什么会这样吗?

<?php
    $prodArgs = array(
        'post_type' => 'wpsc-product',
        'wpsc_product_category' => 'shoes',
        'posts_per_page' => 12,
    );
    $prodArgs['paged'] = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
    $prodQuery = new WP_Query($prodArgs);

    $temp_query = $wp_query;
    $wp_query   = NULL;
    $wp_query   = $prodQuery;

    $count = 1;
?>
<div class="hidden">
    <pre>
        <?php print_r($prodQuery); ?>
    </pre>
</div>

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。

<?php
                    $wp_query = array(
                            'post_type' => 'wpsc-product',
                            'wpsc_product_category' => $thd_category->slug,
                            'posts_per_page' => 12,
                            'paged' => get_query_var('page')
                        );

                    query_posts($wp_query);

                    $count = 1;
                ?>
                <?php if ( $wp_query->have_posts() ) while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>

答案 1 :(得分:0)

您应该在wp查询中添加paged参数。

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$prodArgs = array(
                        'post_type' => 'wpsc-product',
                        'wpsc_product_category' => 'shoes',
                        'posts_per_page' => 12,
                        'paged' => $paged
                    );

                    $prodQuery = new WP_Query($prodArgs);