我看不到自定义wp查询的max_num_ages

时间:2019-10-12 作者:bilal BOUASRIA

我希望你能帮我,

我正在制作一个wordpress网站,它有3种不同的帖子类型(常规帖子类型和2种其他类型),我在常规帖子页面中使用了分页功能,但在其他自定义帖子的其他2个页面中不起作用,当我试图解决这个问题时,我发现问题是,像自定义查询对象一样,没有max_num_pages 属性,当我回显它的值时,它不会显示的,请看我的代码!

这是我进行的自定义查询:

                            $currentpage = get_query_var(\'paged\');
                            $myQuery= new WP_Query(array(
                                    \'post_type\'         => \'airdrop\',
                                    \'posts_per_page\'    => 3,
                                    \'paged\'             => $currentpage 
                            ))


                                 function my_pagination(){
                                    $all_pages = $myQuery->max_num_pages;
                                    $current_page = max(1 , get_query_var(\'paged\'));
                                    echo $current_page ."/". $all_pages;
                                    if ($all_pages>1) {
                                        return paginate_links(array(
                                            \'base\'      =>get_pagenum_link() .\'%_%\',
                                            \'format\'    =>\'page/%#%\',
                                            \'current\'   =>$current_page
                                        ));
                                    }
                                }
                                echo my_pagination();
如果你看这条线echo $current_page ."/". $all_pages;这应该会打印一些东西like 1 / 2 or 1 /3 ,但它只显示1 / blank 还有num\\u max不要害羞,我希望你能帮我弄清楚

EDIT :

即使这个简单的代码也不起作用

                           $loop = new WP_Query(array(
                                    \'post_type\'         => \'airdrop\',
                                    \'posts_per_page\'    => 3,
                            ));
                            echo $loop->max_num_comment_pages;

2 个回复
SO网友:Jakub Voženílek

变量不在函数范围内。

我的函数示例:

function customPagination($paged = \'\', $max_page = \'\') {
    global $wp_query;
    $big = 999999999;
    if( ! $paged )
        $paged = get_query_var(\'paged\');

    if( ! $max_page )
    $max_page = $wp_query->max_num_pages;
    echo paginate_links( array(
        \'total\' => $max_page,
        \'prev_next\' => false,
        \'prev_text\'  => false,
        \'next_text\'  => false,
        \'total\' => $wp_query->max_num_pages,
        \'mid_size\' => 3
    ) );
}
然后用变量调用它(刚刚改为camelCase)

customPagination($currentPage, $myQuery->max_num_pages); 
希望有帮助

标题

SO网友:bilal BOUASRIA

我找到了答案:我做错的是我有两个同名的wp\\u查询对象($循环)。

当我第一次把两篇帖子的主题命名为同一个名称时,这就是为什么它会混淆,

解决方案是永远不要使用两个或多个同名的wp\\u查询!!!

相关推荐