it-swarm.com.de

Relative Zeit - Berechnung der Differenz zwischen dem Veröffentlichungsdatum und der aktuellen Zeit

Ich möchte die Differenz zwischen der Veröffentlichungszeit des Posts und der aktuellen Zeit berechnen und diesen Wert als Zahl lesen (Anzahl der Stunden, Minuten, Sekunden, ich möchte nur, dass es eine Zahl ist).

Der Grund ist, dass ich etwas tun möchte, das vom Alter des Posts abhängt.

Würde dieser Code funktionieren?

$date = get_post_time('G', true, $post);
$current_time = current_time( 'mysql', $gmt = 0 );
$newer_date = strtotime( $current_time );

$postsage = $newer_date - $date;

if($postsage < 7200){
    ...
} 
// if post is between one and two hours old
else if (($postsage >= 7200) && ($postsage <=14400)){ 
   ...
}
else {
    ...
}

Ist dieses Codebit gültig?

1
idjuradj

Um die relative Zeit automatisch auf Posts auszudrucken, können wir den get_the_date-Filter verwenden. Wir prüfen den Zeitunterschied und drucken ihn in lesbarer Form aus.

// Relative date & time
function wp_relative_date() {
  return human_time_diff( get_the_time('U'), current_time( 'timestamp' ) ) . ' ago';
}
add_filter( 'get_the_date', 'wp_relative_date' ); // for posts
add_filter( 'get_comment_date', 'wp_relative_date' ); // for comments

Verwenden Sie in Ihrem Thema <?php echo get_the_date(); ?>, um die relative Zeit zu drucken.

Wenn Sie keine relative Zeit für Kommentare benötigen, entfernen Sie das Folgende aus dem Code.

add_filter( 'get_comment_date', 'wp_relative_date' ); // for comments

EDIT

Zeitunterschied in Sekunden. Benutze das.

$seconds = current_time( 'timestamp' ) - get_the_time('U');

Jetzt können Sie $seconds in Ihren if-Bedingungen verwenden.

1
Robert hue