$ wp_query-> max_num_pages不适用于CPT

问题描述 投票:2回答:1

正在为我的CPT产品实施自定义分页。这是我尝试过的-在taxonomy-product-category.php中

 <?php $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; 
  $args = array(
                                                'post_type' => 'products',
                                                'post_status' => 'publish',
                                                'posts_per_page' => 6,
                                                'parent' => 0,
                                                'paged' => $paged,
                                                'orderby' => 'date',
                                                'order' => 'DESC',
                                                'tax_query' => array(
                                                    array(
                                                        'taxonomy' => $taxonomy,
                                                        'field' => 'slug',
                                                        'terms' => array($term->slug),
                                                        'operator' => 'IN'
                                                    ),
                                                ),
                                            ); ?>

in functions.php

function get_pagination($range = 4) {
    global $paged, $wp_query;

    $no_of_posts = 6;
// How much pages do we have?
    if (!$max_page) {
        $max_page = round($wp_query->max_num_pages / $no_of_posts);
    }
die($wp_query->max_num_pages);


}

但是问题是

 if (!$max_page) {
            $max_page = round($wp_query->max_num_pages / $no_of_posts);
        }
    die($wp_query->max_num_pages);

为此,它总是返回$ wp_query-> max_num_pages总是返回1.我不想将其除以帖子数。

php wordpress custom-post-type
1个回答
0
投票

实际上有一些问题可能会导致这种情况,但让我们从最常见的一个问题开始:

您可能还有其他一些过滤器会在早期介入查询,例如:

add_action('pre_get_posts', 'some_function');

或任何其他更改查询的功能。尝试删除/更改优先级并查看结果。

© www.soinside.com 2019 - 2024. All rights reserved.