it-swarm.com.de

human_time_diff () gibt für alle Kommentare "vor 48 Jahren" zurück

Es wird versucht, ein benutzerdefiniertes Kommentarfeld zu erstellen. Wenn ich zur Anzeige der Uhrzeit gehe, zu der der Kommentar gepostet wurde (dh vor 2 Tagen, vor 3 Stunden usw.), erhalte ich für jeden Kommentar den gleichen Wert für jeden Beitrag: "48 Jahre".

$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;

Was ist damit?

3
Dave

Sie sollten strtotime verwenden, um das Datum des Kommentars in eine Zeichenfolge umzuwandeln, die mit der aktuellen Uhrzeit verglichen werden kann. In Ihrem Fall sollten Sie verwenden:

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