web-dev-qa-db-ja.com

human_time_diff()は、すべてのコメントについて「48年前」を返します

カスタムコメントボックスを作成しようとしています。コメントが投稿された時刻(2日前、3時間前など)を表示しようとすると、すべての投稿のすべてのコメントで同じように表示されます。「48年」

$args = array(
        'number'  => '4',
        'post_id' => $id, // use post_id, not post_ID
);

$comments = get_comments( $args );

foreach ( $comments as $comment ) :

    // get the comments contents    

    echo $comment->comment_content;

    // human readable time when it was posted
    //
    // this is where we get the "48 years" as when it was posted
    //

    echo human_time_diff( $comment->comment_date, current_time( 'timestamp', 1 ) );

endforeach;

どうしたの?

3
Dave

コメントの日付を現在の時刻と比較できる文字列に変換するには、 strtotime を使用する必要があります。あなたのケースでは、あなたが使用する必要があります:

echo human_time_diff( strtotime( $comment->comment_date ), current_time( 'timestamp', 1 ) );
3
Jack Johansson