我希望你能帮我,
我正在制作一个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;
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);
希望有帮助
标题