【问题标题】:Wordpress: Display freshest 3 topics from specific forum bbpress, mysql solutionWordpress:显示来自特定论坛 bbpress、mysql 解决方案的最新 3 个主题
【发布时间】:2013-01-07 13:16:00
【问题描述】:

我只需要在 bbpress 中显示来自特定论坛的“最新”3 个主题。

有没有简单的方法来做到这一点?因为我在尝试加入表格时发疯了。所以这是我的mysql解决方案(仍然不能很好地编码)....

所以我立即进入数据库检查那里发生了什么,但我找不到解决方案。按 post_modified 排序没有用。那么如何获取特定论坛下的 FRESHEST 主题并进行展示呢?

这是 bbpress 存储数据的方式:

论坛 -> 主题 -> 回复主题。一切都进入 wp_posts 表。

回复主题具有主题的 post_parent,主题具有论坛的 post_parent。所以我绝对不能使用 post_parent 作为选择。

所以我在想这个(如果有人可以编写代码,我将不胜感激甚至捐赠,因为我被困在某个地方)。

从表 wp_posts 中选择所有 post_type 列为“reply”的帖子。然后检查表 wp_postmeta 的 meta_value 是否为 1263(这是我的父论坛),此外还可以检查 wp_postmeta 中的 meta_key 是否为“_bbp_forum_id”。这就是我将选择所有回复的方式。

获得论坛下的所有回复后,我想检查哪 3 个回复是最新的(获取 post_date 值)并显示其父主题。而且我必须确保我没有重复,因为最新的 3 个回复可能来自同一个主题。

我是不是太复杂了??? :)))

有更简单的方法吗?

谢谢!!!

【问题讨论】:

    标签: mysql wordpress list forum bbpress


    【解决方案1】:

    试试这个:

    SELECT my_id, my_title, max(my_date) order_date
    FROM
    (
    SELECT
    replace(post_title,'Antwort zu: ','') my_title,
    post_date my_date,
    if(strcmp(post_type,'topic'),post_parent,ID) my_id
    FROM wp_posts
    where post_type in ('topic', 'reply')
    and post_status = 'publish'
    ) my_temp_table
    group by my_id, my_title
    order by order_date desc
    limit 3
    

    根据您的论坛语言将“Antwort zu:”替换为字符串。

    【讨论】:

      【解决方案2】:

      “我只需要在 bbpress 的特定论坛下显示“最新鲜”的 3 个主题。”

      听起来您正在尝试走很长的路来实现此处描述的小部件已经完成的工作:

      http://codex.bbpress.org/widgets/

      如果您的需求与此处列出的小部件不同,请具体说明原因,我们希望能够缩小范围。

      【讨论】:

      • 是的,我知道小部件,但没有选项可以选择来自特定论坛的最近主题...
      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2012-11-30
      相关资源
      最近更新 更多