web-dev-qa-db-ja.com

コメントIDでコメントの内容を取得する

だから私は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>';
    }
}
1
Matthew Abrman

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>';
0
Morgan Estes

WP_Comment_Query への引数が表示されません。これを使用すると、コメントID、関連する投稿IDだけでコメントを検索できます。しかし、 get_comment でもできます。コーデックスからの例:

$my_id = 7;
$comment_id_7 = get_comment( $my_id ); 
$name = $comment_id_7->comment_author;
0
s_ha_dum