投稿の公開時間と現在の時間の差を計算したいし、その値を数値として読みたい(時間数、分数、秒数にかかわらず、単に数値にしたい)。
その理由は、私は役職の年齢に応じて何かをしたいのです。
このコードは機能しますか?
$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 {
...
}
このコードビットは有効ですか?
投稿の相対時間を自動的に印刷するには、get_the_date
フィルタを使用できます。時差を確認し、人間が読める形式で印刷します。
// 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
そしてあなたのテーマでは相対時間を表示するために<?php echo get_the_date(); ?>
を使います。
あなたがコメントのために相対的な時間を必要としないならば、コードから下記を削除してください。
add_filter( 'get_comment_date', 'wp_relative_date' ); // for comments
EDIT
秒単位で時差を取得します。これを使って。
$seconds = current_time( 'timestamp' ) - get_the_time('U');
これでif条件に$seconds
を使うことができます。