Wordpress:从特定论坛bbpress,mysql解决方案中显示最新鲜的3个主题

时间:2013-01-23 22:02:47

标签: mysql wordpress list forum bbpress

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

有一种简单的方法吗?因为我试图加入桌子而疯了。所以这是我的mysql解决方案(仍然无法编码)....

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

以下是bbpress如何存储数据:

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

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

所以我在考虑这个问题(如果有人可以编码,我会感激甚至捐款,因为我被困在某处)。

从wp_posts表中选择post_type列为'reply'的所有帖子。然后检查表wp_postmeta是否具有1263的meta_value(这是我的父论坛)另外可以检查来自wp_postmeta的meta_key是否为“_bbp_forum_id”。这就是我将如何选择所有的答案。

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

上午我很复杂??? :)))

更简单的方法?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

听起来你正试图走很长的路线,看看这里描述的小部件已经做了什么:

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

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

答案 1 :(得分:-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:'替换为字符串,具体取决于您的论坛语言。