この記事は2年以上前に書かれたものです。
情報が古い可能性があります。
情報が古い可能性があります。
検証バージョン
- WordPress3.5.2
- WordPress 3.6
- WordPress 3.7
human_time_diffを使わないコード
human_time_diffの動作がバージョンによって異なるようなので、human_time_diffを使わないパターンを追記しました。
single.php
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <!-- .post --> <article class="post"> <!-- .post-content --> <div class="post-content"> <?php // 差を求める // MINUTE_IN_SECONDS = 60 (seconds) // HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS // DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS // WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS // YEAR_IN_SECONDS = 365 * DAY_IN_SECONDS $day = round( (int) abs( get_the_time( 'U' ) - current_time( 'timestamp' ) ) / DAY_IN_SECONDS ); // 投稿から365日以上経過している場合 if( $day >= 365 ) : ?> <p class="attention"> この記事は1年以上前に書かれたものです。<br /> 情報が古い可能性があります。 </p> <?php endif; ?> <?php the_content(); ?> </div> <!-- /.post-content --> </article> <!-- /.post --> <?php endwhile; ?> <?php endif; ?>
human_time_diffを使ったWordPress 3.5で動作するコード
single.php
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <!-- .post --> <article class="post"> <!-- .post-content --> <div class="post-content"> <?php $day = str_replace( '日', '', human_time_diff( get_the_time( 'U' ), current_time( 'timestamp' ) ) ); // 投稿から365日以上経過している場合 if( $day >= 365 ) : ?> <p class="attention"> この記事は1年以上前に書かれたものです。<br /> 情報が古い可能性があります。 </p> <?php endif; ?> <?php the_content(); ?> </div> <!-- /.post-content --> </article> <!-- /.post --> <?php endwhile; ?> <?php endif; ?>
human_time_diffを使ったWordPress 3.6及び3.7で動作するコード
single.php
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <!-- .post --> <article class="post"> <!-- .post-content --> <div class="post-content"> <?php $diff = human_time_diff( get_the_time( 'U' ), current_time( 'timestamp' ) ) ; // 投稿から1年以上経過している場合 if( strpos( $diff, '年' ) != 0 && str_replace( '年', '', $diff ) >= 1 ) : ?> <p class="attention"> この記事は1年以上前に書かれたものです。<br /> 情報が古い可能性があります。 </p> <?php endif; ?> <?php the_content(); ?> </div> <!-- /.post-content --> </article> <!-- /.post --> <?php endwhile; ?> <?php endif; ?>