我有一个自定义的post类型,我在上面使用自定义分类法。这些分类法用于筛选和创建帖子的索引列表。
问题是,一旦我从筛选列表中单击其中一篇文章,页面上就会有一个“上一篇文章”和“下一篇文章”链接;我希望这些链接尊重以前添加的过滤器。
有没有办法拉“下一个匹配的帖子”而不是只拉相同自定义类型的下一个帖子?似乎应该有一个内置的筛选变量选项,但我似乎找不到它。
做些像这样的事情会很好:
$filter = array("foo"=>"bar","category"=>"something");
$next_post = get_next_post($filter);
显然这与Wordpress API不兼容,但唯一类似的选项是“in_same_cat”,这显然是不够的。
伪sql中的基本查询如下:
SELECT * from wp_posts where (insert custom arguments here)
AND ID<(current post id)
AND LIMIT=1
AND ORDER_BY=ID
AND ORDER=DESC
最佳答案
如果我没搞错的话,你想把出现在“下一篇/上一篇文章”中的文章从单个模板改过来。
据我所知,它使用后导航链接功能(http://codex.wordpress.org/Function_Reference/posts_nav_link)。
有两种方法可以改变这种行为:
函数参数:正如您在该链接和http://core.trac.wordpress.org/browser/tags/3.6.1/wp-includes/link-template.php#L1636中看到的,您可以尝试使用这些参数来确保所需的行为。
但是。。。
使用过滤器:您可能需要使用过滤器get_pagenum_链接。使用此筛选器,您将能够返回要显示的帖子的ID。所以只要使用$wp_查询或$post globals并自便。
如果你需要帮助,尽管问,我很乐意帮忙。