我只需要在bbpress中显示来自特定论坛的"最新"3个主题。
有没有简单的方法可以做到这一点?因为我疯狂地试图加入表格。所以这是我的 mysql 解决方案(仍然不能很好地编码)....
所以我立即进入数据库检查那里发生了什么,但我找不到解决方案。 按post_modified排序不起作用。那么,我怎样才能在特定论坛下获取最新鲜的主题并显示它们呢?
以下是bbpress存储数据的方式:
论坛 -> 主题 -> 回复主题。一切都放进wp_posts桌子上。
回复主题具有post_parent主题和主题具有论坛post_parent。所以我绝对不能用post_parent作为选择。
所以我在想这个(如果有人可以编码,我会很感激,甚至捐赠,因为我被困在某个地方)。
从表格wp_posts中选择post_type列为"回复"的所有帖子。然后检查表wp_postmeta meta_value是否为 1263(这是我的父论坛),此外,还可以检查wp_postmeta meta_key是否为"_bbp_forum_id"。这就是我将如何选择所有回复。
在获得论坛下的所有回复后,我想检查哪 3 个回复最新鲜(获取post_date值)并显示其父主题。而且我必须确保我没有重复项,因为最新的 3 个回复可以来自同一个主题。
我是不是太复杂了??? :)))
有什么更简单的方法吗?
谢谢!!!
"我只需要在bbpress的特定论坛下显示"最新"的3个主题。
听起来您正在尝试采取长途跋涉来执行此处描述的小部件已经执行的操作:
http://codex.bbpress.org/widgets/
如果您的需求与此处列出的小部件不同,请准确说明原因,我们希望能够缩小范围。
试试这个:
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:"替换为字符串,具体取决于您的论坛语言。