GET_NEXT_POST()和GET_PREVICE_POST()返回错误的帖子

时间:2019-02-28 作者:Jim

我一直试图在我的Wordpress模板中检索下一篇和上一篇文章。请注意,我想获取完整的post对象,而不仅仅是指向post的预格式化链接。

我面临的问题是,每当我调用这些函数时,都会返回错误的帖子。他们在同一个帖子类型中,但他们有几个ID(比如3/4)。

// Get next and previous link
if ( have_posts() ) {
   while ( have_posts() ) {
      the_post();
       var_dump($post);
       var_dump(get_previous_post());
   }
}
第一个变量dump返回正确的post对象。第二个返回一个大约有4个ID(范围为64-60)的页面。。。

我尝试调用带参数和不带参数的函数,在这两种情况下都返回了错误的帖子。

希望有人能给出答案。

1 个回复
SO网友:Jim

问题是Wordpress使用这些函数基于post_date ...

我从一个旧CMS导入Wordpress,在那里我只在一个循环中添加了所有帖子。有些日期还有几秒钟。这导致函数返回“false”帖子。

实际上,我编写了一个自定义类来处理getNext()getPrevious() 使用名为getSiblings() 基于post_id.

实际上,我写了一个类来完全解决这个问题。检查github 获取完整代码。非常感谢您的贡献:-)

相关推荐

Query posts by Post title

我使用下面的ACF查询生成一个列表,效果很好。然而,现在我想按标准WP“post title”而不是ACF自定义字段“datum”对列表进行排序我该怎么做?// args $args = array( \'posts_per_page\' => 999, \'post_type\' => \'lezing\', \'orderby\' => \'meta_value\', \'order\' => \'ASC\',