我正在尝试将上一个/下一个导航限制为在某个meta_key上具有相同meta_value的帖子。我知道之前有人问过,但我找不到合适的答案。而我自己想出的就是:
$keyword = get_post_meta($post->ID, 'keyword', true);
$prevPost = get_previous_post();
$args = array('meta_key' => 'keyword', 'meta_value' => $keyword, 'posts_per_page' => 1, 'include' => $prevPost->ID);
$prevPost = get_posts($args); foreach ($prevPost as $post) {
setup_postdata($post);
[...]
wp_reset_postdata();
}
...但似乎只有当两个帖子按时间顺序相邻时才会起作用,否则它什么都不会显示。我认为函数应该以不同的顺序运行,但我不知道如何去做。
答案 0 :(得分:0)
插件“Ambrosite Next / Previous Post Link Plus” https://wordpress.org/plugins/ambrosite-nextprevious-post-link-plus/ ..似乎做得很好
为了进一步设置结果样式,人们甚至可以像这样使用它
$prev = previous_post_link_plus( array('return' => 'id') );
query_posts('p='.$prev); while (have_posts()) : the_post();
[...your stuff here...]
endwhile; wp_reset_query();
$next = next_post_link_plus( array('return' => 'id') );
query_posts('p='.$next); while (have_posts()) : the_post();
[...your stuff here...]
endwhile; wp_reset_query();