質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

1回答

2030閲覧

WordPressのコメントを返信順に並べたい

715_mama

総合スコア8

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2017/06/29 02:43

###前提・実現したいこと
WordPress4.8を使用しています。
独自テーマを使用しWebサイトを構築しています。
html・CSSは業務レベルで使用できますが、WordPressは中級程度です。

事情によりコメントを簡易掲示板のような感じで使用したいと考えておりまして、5階層まで入れ子の返信を設定しております。
親コメントは新着順に並ぶようになっております。
親コメントに返信された際に、その子コメントや孫コメントの新着順に親コメントを並び替えたいと思っています。

例)
A親コメント
B親コメント

↓※B親コメントに返信があったら

B親コメント
|B子コメント
A親コメント

のような感じで並び替えされてほしいのです。(孫コメントも同様に)

###発生している問題・エラーメッセージ
wp_list_commentsにてコメントを表示し、reverse_childrenにて親コメント内でなら子コメントが新着順にはなるのですが、それを基にした親コメント同士の並び替えが行われません。

###試したこと
足りない知識の中でいろいろ調べてはみたものの、解決方法が分からず、またどこに問題があるのかも分かりませんでしたので質問させていただきました。
解決方法ございましたら、ご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

wp_list_commentsにてコメントを表示し、reverse_childrenにて親コメント内でなら子コメントが新着順にはなるのですが、それを基にした親コメント同士の並び替えが行われません。

これは、仕様です。エラーやバグなどではありません。

参考)テンプレートタグ/wp list comments - WordPress Codex 日本語版 https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_comments

'reverse_children'
( 真偽値 ) これを true にすると一番新しい子コメント(返信)が付いたコメントを先頭にして逆順に表示します。

WordPressで、ご希望の仕様を実現する機能があるかどうあわかりませんが、力づくで良ければ以下のアイディアを思いつきました。

1)コメントを保存するときに、wp_comment_metaテーブルに、key => update, value => 更新日時 を保存する。
2)子コメントの保存の時には、wp_comment_metaテーブルから親コメントのupdateの日時を子コメントの保存日時に置き換える
3)pre_get_commentsのアクションフックを使って、(get_comments()の並び替えを)meta_key => update の値で降順になるようにする

投稿2017/06/29 04:08

yukikp

総合スコア797

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/05/20 10:09

yukikp 様 横から失礼いたします。 私も現在、質問者様と全く同じ状況になっています。 そこでこのページにたどり着いて、yukikp様の答えを参考に考えています。 3)pre_get_commentsのアクションフックを使って、(get_comments()の並び替えを)meta_key => update の値で降順になるようにする こちらの方法ですが、「meta_key => update の値で降順」にする方法はどのようにするのでしょうか。 お忙しいとは思いますが、何卒、よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問