整体部分使用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\' 使查询更加有效
这会给你一个基本的想法,这会帮助你实现目标