1

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」であるかどうかを確認できます。これが、すべての REPLY を選択する方法です。

FORUM ですべての返信を取得した後、どの 3 つの返信が最新であるかを確認し (post_date 値を取得)、それらの親 TOPICS を表示したいと思います。また、最新の 3 つの返信は同じトピックからのものである可能性があるため、重複がないことを確認する必要があります。

私は複雑すぎますか??? :)))

もっと簡単な方法はありますか?

ありがとう !!!

4

2 に答える 2

1

「bbpress の特定のフォーラムで「最新」の 3 つのトピックを表示する必要があるだけです。」

ここで説明されているウィジェットが既に行っていることへの長い道のりをたどろうとしているようです。

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

ニーズがここにリストされているウィジェットと異なる場合は、その理由を正確にお知らせください。うまくいけば、それを絞り込むことができます。

于 2013-01-23T22:25:59.217 に答える
-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:' をフォーラムの言語に応じた文字列に置き換えます。

于 2013-11-06T07:14:38.663 に答える