2012-02-16 82 views
1

我正在寻找一个函数来返回/输出到同一子类别中的下一个和/或上一篇文章的链接。下一个/上一篇文章链接在同一子类别

使用previous_post_link()函数它只会考虑父类别。

类别的结构是这样的:

  • 工作
    • 平面设计
    • 网页设计
    • 布局
    • Illustratie
    • 包装
    • 摄影

所以,当我是例如网页设计,后的单页上我想链接到网页设计子类别内的其他文章。现在next/previous_post_link()函数只是返回内部的帖子的下一个/上一个链接WORK

你们中的任何一个人都有很好的解决方案吗?插件/自定义代码/ ....?

编辑

我已经找到了解决这一之一。我试图用鲍里斯建议的方式来构建它,但那对我没有用。然后我发现我不应该在编辑页面中添加父类别。奇怪,因为它可能是这样做的。只需添加子类别,当您需要父类别的所有帖子时,它仍然会在页面上显示。但是当使用previous_post_link()/ next_post_link()时,它只会使用子类别!

回答

0

您可以定义过滤器:get_previous_post_join & get_next_post_join并更改get_adjacent_post()函数的JOIN子句。 查看wp-includes/link-template.php(WP 3.3.0)中的第1111至1115行。如果在你的过滤器回调中,你得到了“工作”和子类别的ID并修改了tt.term_id IN (...)部分,那么我相信你将能够获得所需的链接。

+0

我试过找出这些过滤器,但是有没有这些过滤器的好文档?我确实发现了这一点:next_post_link('%link','下一篇文章',TRUE,$ exc_cats);我一直试图排除其他子猫,但这似乎并不奏效:s – 2012-02-22 14:35:24

相关问题