最新のコメントで注文した投稿を使用してループを作成する
-
16-10-2019 - |
質問
query_postsを使用して、最新のコメントがあるものが上にあるように、投稿のリストを注文するにはどうすればよいですか?
「Active」でソートすると、SEに関する質問が順序付けられる方法に似たものを探しています。
解決
私は使用しません query_posts()
. 。その特定の関数は、特定のクエリを変更するためのものです...そして、必要なカスタム機能を取得できないほど限られています。
むしろ、カスタムクエリを使用します。あなたがやりたいのは、承認されたコメントの投稿/承認日にソートされ、データベースの投稿に参加することです。投稿にコメントがない場合、この基準に基づいて自動的に除外されます。
a とてもシンプルです 擬似コードの例:
$qstr = 'SELECT * FROM wp_posts ON (wp_posts.post_id = wp_commnets.comment_post_id) WHERE wp_comments.comment_approved='approved' ORDER BY wp_comments.comment_date';
$my_query = new WP_Query($qstr);
while($my_query->have_posts() ...
基本的に、コメント表のデータに関連する特定の基準に基づいて投稿を選択します。直接クエリを使用するには、SQLステートメントとWPデータベース構造に関する一定の知識の深さが必要です。したがって、通常は私の最初の推奨ではありませんが、あなたの場合は機能するはずです。
上記のコードは擬似コードであることを忘れないでください ...つまり、頭の上から上にしたことを意味します。それは機能しない可能性があり、概念的な例としてのみ使用する必要があります。
参考のために:
所属していません wordpress.stackexchange