だから私は1時間かそこらのIDでコメントを一覧表示しようとしています。私はget_comment($id, $output)
関数を試しましたが、うまくいきませんでしたので、以下に示すものに戻りましたが、それはすべてのコメントを表示するだけです。 IDごとにコメントを1つだけ表示します。やり方がわかりません。何がおかしいのですか?
$args = array(
'id' => 1,
);
// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );
// Comment Loop
if ( $comments ) {
foreach ( $comments as $comment ) {
echo '<p>'.$comment->comment_content.'</p>';
}
}
Codex では、 GenerateWPクエリジェネレータ と同様に、IDで特定のコメントをクエリできるように見えますが、取得できませんでした。これらの例のどちらかを使って作業する。 WP_Comment_Query:query()
コードを見ても、パラメータにIDを渡すことができるはずであることは明らかです。
とは言っても、get_comment()
を使うことが今のところ唯一の方法です。元のコードに基づいて機能するものは次のとおりです。
<?php
/**
* Get the contents of a single comment by its ID.
*
* @param int $comment_id The ID of the comment to retrieve.
*
* @return string The comment as a string, if present; null if no comment exists.
*/
function wpse120039_get_comment_by_id( $comment_id ) {
$comment = get_comment( intval( $comment_id ) );
if ( ! empty( $comment ) ) {
return $comment->comment_content;
} else {
return '';
}
}
echo '<p>' . wpse120039_get_comment_by_id( '34' ) . '</p>';
WP_Comment_Query
への引数が表示されません。これを使用すると、コメントID、関連する投稿IDだけでコメントを検索できます。しかし、 get_comment
でもできます。コーデックスからの例:
$my_id = 7;
$comment_id_7 = get_comment( $my_id );
$name = $comment_id_7->comment_author;