整体部分使用date_query
在自定义中WP_Query
根据传递给它的参数获取相邻的帖子。下面是一个来自我正忙着的插件的想法
要完成您需要的,您需要以下内容
获取post_date
和ID
分配给当前职位的类别。
第一部分可以通过以下方式完成get_queried_object()
它将容纳post_date
和ID
. 后一部分可以通过wp_get_post_terms()
为了提高效率
综上所述,您可以尝试以下方法:(注意:这都是未经测试的,可能有问题,从平板电脑发布)
$post_object = get_queried_object();
$terms = wp_get_post_terms( $post_object->ID, \'category\', array( \'fields\' => \'ids\' ) ); // Set fields to get only term ID\'s to make this more effient
$args = array(
\'cat\' => $terms[0],
\'posts_per_page\' => 5,
\'no_found_rows\' => true, // Get 5 poss and bail. Make our query more effiecient
\'suppress_filters\' => true, // We don\'t want any filters to alter this query
\'date_query\' => array(
array(
\'after\' => $post_object->post_date, // Get posts after the current post, use current post post_date
\'inclusive\' => false, // Don\'t include the current post in the query
)
)
);
$q = new WP_Query( $args );
var_dump( $q->posts );
很少有重要的音符,你需要好好玩玩
after
和
before
在您的
date_query
和
order
参数我已经记不清我是怎么把这首曲子拼在一起的了,真丢人。我想如果你用
before
在您的
date_query
, 您需要设置
order
到
ASC
获取正确的帖子。但正如我所说的,玩弄这些参数
我使用了默认的分类法category
在我的例子中。如果使用自定义分类法,请更改category
在里面wp_get_post_terms()
到所需的分类名称。同时,拆下cat
参数,并将其替换为正确的tax_query
如果您只对获取帖子ID感兴趣,则可以设置\'fields\' => \'ids\'
使查询更加有效
这会给你一个基本的想法,这会帮助你实现目标