我想限制get_next_post
和get_previous_post
使用筛选器发送给同一作者。我在循环中使用它,因为我需要为我循环的每个帖子显示上一篇和下一篇帖子。
这就是我迄今为止在我的函数中所尝试的。php文件:
// PREVIOUS AND NEXT POST FROM SAME AUTHOR
add_filter( "get_next_post_where", function($where, $in_same_term, $excluded_terms, $taxonomy, $post){
$where .= " AND p.post_author=\'".$post->post_author."\'";
return $where;
}, 10, 5);
add_filter( "get_previous_post_where", function($where, $in_same_term, $excluded_terms, $taxonomy, $post){
$where .= " AND p.post_author=\'".$post->post_author."\'";
return $where;
}, 10, 5);
在实际模板中,我使用以下循环:
$story_loop = new WP_Query( array(
\'post_type\' => \'stories\',
\'posts_per_page\' => -1
)
);
while ( $story_loop->have_posts() ) : $story_loop->the_post();
$next_post = get_next_post();
$prev_post = get_previous_post();
endwhile; wp_reset_query();
但是,$next\\u post和$prev\\u post不限于同一作者。
我更愿意避免仅仅为了每个帖子的同一作者获得下一篇帖子而进行新的循环,因此过滤get\\u next\\u帖子将是理想的选择。