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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1289閲覧

Wordpressでコメントの返信があったコメントを先頭に表示したいです。

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/05/17 09:32

編集2021/05/17 09:49

Wordpressでコメントに返信があった場合にその返信があったスレッド全体をコメントリストの一番上に表示させたいです。

現状は

php

1wp_list_comments(array( 2 'callback'=>'mytheme_comments', 3 'reverse_children'=>true, 4));

このようにしてコメントリストを表示しています。

reverse_childrenで本件は解決できると思っていたのですが、リプライ(子コメント)が逆順に表示されるだけでした。

【試したこと】
Wordpress管理画面の設定のディスカッションからコメントを新しい順に表示はされています。

よろしくおねがいいたします。

追記

### 【コールバックで呼び出している関数】

php

1<?php 2 3/* コメント表示テンプレートにカスタムフィールドを出力 */ 4function mytheme_comments($comment, $args, $depth) 5{ 6 $GLOBALS['comment'] = $comment; 7 $user = get_userdata($comment->user_id); 8 9 $nickname = esc_attr(get_comment_meta($comment->comment_ID, 'nickname', true)); 10 $commentcontent = esc_attr(get_comment_meta($comment->comment_ID, 'comment_content', true)); 11 12?> 13 <li> 14 <div class="comment-header"> 15 <div class="comment-header-left"> 16 <!-- コメントアバター --> 17 <img alt="" src="icon.png" class="avatar " height="46" width="46" loading="lazy"> 18 <!-- コメント投稿者 --> 19 <div class="comment-author"><?php echo $nickname; ?></div> 20 </div> 21 <div class="comment-header-right"> 22 <p class="comment-date"><?php echo comment_date('Y年n月j日 g:iA'); ?></p> 23 </div> 24 25 </div> 26 <div class="comment-content"> 27 <!-- 添付ファイル --> 28 <?php 29 $filefiled = esc_attr(get_comment_meta($comment->comment_ID, 'file', true)); 30 if (!empty($filefiled)) { 31 $filename_only = basename(get_attached_file($filefiled)); 32 ?> 33 <a href=<?php echo wp_get_attachment_url($filefiled); ?> download=<?php echo wp_get_attachment_url($filefiled); ?>><?php echo $filename_only; ?></a> 34 <?php } ?> 35 <!-- コメント本文 --> 36 <?php comment_text(); ?> 37 <!-- 返信ボタン --> 38 <?php comment_reply_link(array_merge($args, array('reply_text' => '返信', 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))); ?> 39 </div> 40 </div> 41 42 </li> 43<?php 44}

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

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

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

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

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

guest

回答1

0

ベストアンサー

テンプレートタグ/wp list comments - WordPress Codex 日本語版

'reverse_top_level'
( 真偽値 ) これを true にすると最新のコメントを先頭にして逆順に、false にすると一番古いコメントを最初に表示します。省略すると WordPress ダッシュボード内の設定を使います。

とのこと。


このブロック、勘違い。

見落としてました。

wp_list_comments(array( 'callback'=>'mytheme_comments', 'reverse_children'=>true, ));

callbackでカスタム処理を与えているので、
テーマファイルのどこかでmytheme_commentsなるユーザー関数が定義されているはず。
それを探し出してコードを解析して対処するべし。


WordPressでコメントを新着順に表示させつつページ分割もおこなう方法 丨 京都のフリーランスWebデザイナー motoyamayuki.com

違う切り口のやり方を見つけたので、こちらは合いますかねぇ?

投稿2021/05/17 09:34

編集2021/05/17 10:05
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2021/05/17 09:41

回答ありがとうございます。 reverse_top_levelでは、返信(リプライ)に対しては最新順に表示されないのです。
退会済みユーザー

退会済みユーザー

2021/05/17 09:44

だとすると、'callback'=>'mytheme_comments'がコメント表示に関するカスタム処理をやってる可能性が高いので、たぶんテーマファイル群に含まれているmytheme_comments関数を探しだしたほうが早い。
退会済みユーザー

退会済みユーザー

2021/05/17 09:48

お返事ありがとうございます。 コールバックで呼び出している関数がを編集して追記しました。 どの部分が悪いのでしょうか。
退会済みユーザー

退会済みユーザー

2021/05/17 10:07 編集

wp_list_commentsの外側(?)はどうですか? コメントデータの呼び出しを直前でしていたりしないでしょうか。どこかで、$commentsをひっくり返さないといけない気がするのですが。
退会済みユーザー

退会済みユーザー

2021/05/17 12:47

wp_list_commentsはComments.phpで呼び出しているのですが、前後でデータの呼び出しなどはしていないんです。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問