我有自定义帖子类型。此自定义帖子类型的页面通过特殊模板显示。在此模板中,我使用previous_post_link()
和next_post_link()
创建指向此自定义帖子类型的上一个/下一个帖子的链接。
由于我目前只想向用户展示一些自定义后期类型的页面,因此我创建了一个名为release
的自定义字段,其中包含一个布尔true/false
值,以指示这些帖子是否应该显示。
显然,previous/next_post_link()
函数也应该意识到这一点。但是,他们目前不在。这意味着他们还会链接到自定义字段released
设置为false
的网页。如何告诉这些函数仅使用自定义字段(released
)具有特定值(true
)的网页。
更新:我知道解决方案是将一些过滤器应用于默认函数,并以某种方式调整用于检索上一个/下一个帖子的SQL查询。但是我不知道如何拼凑拼图(在哪里/如何应用过滤器以及如何调整SQL)
这可能与这个问题有关,但我真的不知道该怎么做:https://wordpress.stackexchange.com/questions/8823/how-to-order-adjacent-posts-prev-next-by-custom-field-value
这似乎也是相关的:https://wordpress.stackexchange.com/questions/96670/custom-post-type-navigation-on-custom-field
答案 0 :(得分:1)
无法让它工作,即使我知道它应该如何工作:DocumentNode
addFilter()
和get_{$adjacent}_post_join
自定义SQL查询代码..
然而,这个插件为我做了诀窍:http://www.ambrosite.com/plugins/next-previous-post-link-plus-for-wordpress
我使用了get_{$adjacent}_post_where
键。