【问题标题】:Pagination only displaying the first page分页只显示第一页
【发布时间】:2018-09-25 21:23:02
【问题描述】:

我的 wordpress 网站的博客页面在页面底部有各种页面,但无论您点击哪个页面,都只会显示结果的第一页。下面是我的代码示例,如果您需要更多,请告诉我。

if(!is_front_page())
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
else
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
     $args = array('offset'=> 0, 'paged'=>$paged, 'posts_per_page'=>$posts_per_page);
     $wp_query = new WP_Query($args);

if(have_posts()) : 
     while(have_posts()) : the_post();

【问题讨论】:

  • 你想达到什么目的?您想显示帖子还是自定义帖子类型?

标签: php wordpress pagination


【解决方案1】:

您正在使用主循环来查询您的帖子,而不是您的自定义查询,而且使用变量名 $wp_query 是不明智的,它可能与全局变量 $wp_query 冲突,请尝试更改:

$wp_query = new WP_Query($args);

if(have_posts()) : 
     while(have_posts()) : the_post();

$query = new WP_Query($args);

if($query->have_posts()) : 
     while($query->have_posts()) : $query->the_post();

现在分页不起作用的原因也可能是因为您使用了破坏分页的参数“offset”:

offset (int) - 要替换​​或跳过的帖子数。警告: 设置偏移参数覆盖/忽略分页参数和 中断分页(单击此处获取解决方法)。 “偏移量” 当 'posts_per_page'=>-1 (show all posts) 为 用过的。 来源:https://codex.wordpress.org/Class_Reference/WP_Query

在你的情况下使用 offset: 0 (default) 是无关紧要的。

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多