【问题标题】:No paged query var being set in WordPress custom pagination在 WordPress 自定义分页中没有设置分页查询变量
【发布时间】:2017-01-25 10:43:29
【问题描述】:

我已经设置好了我只需要完成分页。这个方法和我以前做的一样,但由于某种原因它现在有问题。

我正在使用标准的“帖子”帖子类型并获取所有帖子(每页 1 个这样的帖子)

$pageNumber = ( get_query_var('paged') ? get_query_var('paged') : 1 );

$posts = new WP_Query([
   'post_type' => 'post',
   'posts_per_page' => 1,
   'paged' => $pageNumber
]);

这可以满足我的需要,但 $pageNumber 始终为 1。

检查分页的查询变量时:

if (get_query_var('paged')) {
    echo "paged:" . get_query_var('paged');
} else {
    echo "no paged set";
}

它总是说没有分页集。

在我的分页中,我用于分页链接的链接是:

domain.com/blog/page/2

这会返回正确的页面并且不会出现 404,但该页面没有被拾取。

任何想法为什么?

【问题讨论】:

    标签: php wordpress pagination


    【解决方案1】:

    好的,这里的问题是我的页面查询变量实际上是“页面”而不是分页。

    global $wp_query;
    var_dump($wp_query->query_vars);
    

    我能够使用上面的代码查看所有查询变量。

    【讨论】:

    • 我遇到了类似的问题。在公共页面上,分页按预期工作。但是在私有页面上,由于查询变量不是预期的页面,因此分页不起作用。它被分页了。因此,我更改了代码,现在它可以正常工作了。但是我正在搜索为什么查询变量会根据页面的状态而有所不同,并且还没有找到任何东西。如果有人知道为什么会这样,请告诉我。
    • 更新:我在另一篇文章中找到了一个非常好的解释。见wordpress.stackexchange.com/questions/180784/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2012-01-18
    • 2021-07-25
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多