如何向单个帖子添加分页

时间:2017-01-30 作者:Alexander Holsgrove

我有一个自定义帖子类型的模板single-continent.php 它调用辅助WP\\U查询循环来加载帖子列表。

$query = new WP_Query(array(
    \'meta_query\'  => array($meta_queries),
    \'order\'       => \'DESC\',
    \'orderby\'     => \'date\',
    \'paged\'       => $paged,
    \'post_status\' => \'publish\',
    \'post_type\'   => \'post\'
));
该功能设置为使用get_query_var() 检查页面/页面,但我似乎无法创建URL/page/2 工作相反,我得到了一个301重定向回大陆。我可以使用/2get_query_var(\'page\') 但不确定这是否是正确的解决方案(我需要能够将其用于the_posts_pagination.

1 个回复
最合适的回答,由SO网友:Alexander Holsgrove 整理而成

请原谅我回答了我自己的问题,但这篇文章给了我所需要的答案:WP_Query Pagination on single-custom.php

我必须复制原始wp\\U查询

$original_query = $wp_query;
然后将我的自定义循环分配给全局$wp_query, 最后用

wp_reset_postdata();
$wp_query = $original_query;
从本质上讲,这就是我们所缺少的:

function mytheme_template_redirect() {
    if(is_singular(\'continent\')) {
        global $wp_query;
        $page = (int)$wp_query->get(\'page\');
        if($page > 1) {
            $query->set(\'page\', 1);
            $query->set(\'paged\', $page);
        }
        remove_action(\'template_redirect\', \'redirect_canonical\');
    }
}
呼叫人:

add_action(\'template_redirect\', \'mytheme_template_redirect\', 0);
现在一切都很好,因为我在附加时不再得到301重定向/page/2 到(单个)自定义帖子URL

相关推荐

Count posts for pagination

我正在为一个网站分页<;上一页(页码)下一页>很简单,已经完成。但是现在我需要添加一个选择器来直接转到页面(例如:转到第7页),要这样做,我需要知道有多少页面,为此我需要计算在查询中找到了多少帖子。问题是这个网站有太多的帖子(>13.000),查询所有帖子都会减慢页面加载速度,这就像。。。10秒后页面才能加载。显然,这是不可接受的。分页解决了这个问题,因为一次只加载50或100篇文章,但我无法将它们全部计算在内。我可以在不加载的情况下统计某个查询中的帖子吗?或者我可以通过其他方式获得页数吗