【问题标题】:Next/Previous post link in same subcategory同一子类别中的下一个/上一个帖子链接
【发布时间】:2012-02-16 07:53:54
【问题描述】:

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

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

类别的结构是这样的:

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

因此,当我在例如网页设计帖子的单个页面上时,我希望链接到 webdesign 子类别中的其他文章。现在 next/previous_post_link() 函数只返回 WORK

中帖子的下一个/上一个链接

你们有什么好的解决方案吗?插件/自定义代码/....?

编辑

我已经找到了解决这个问题的方法。我已经尝试按照鲍里斯建议的方式围绕它进行构建,但这对我不起作用。然后我发现我不应该在编辑页面中添加父类别。尽管可能很奇怪,但这确实起到了作用。只需添加子类别,当您想要父类别的所有帖子时,它仍会拉到页面上。但是当使用 previous_post_link()/next_post_link() 时,它只会使用子类别!

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    您可以定义过滤器: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 (...) 部分,那么我相信您将能够获得所需的链接。

    【讨论】:

    • 我已经尝试找出这些过滤器,但是这些过滤器有什么好的文档吗?我确实遇到过这个:next_post_link('%link', 'Next post in category', TRUE, $exc_cats);我一直在尝试排除其他子猫,但这似乎也不起作用:s
    猜你喜欢
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多