WordPressのカスタムフィールドの値から日数経過メッセージを表示する方法

古い記事などで1年経過した時や1週間後には終了しましたのメッセージをカスタムフィールドに入力した日数から表示したい時に便利な方法

注意:カスタムフィールドに値が未入力の場合初めから表示されてしまうので値がない場合はifなどで分岐するなどしてください

PHPコード

<?php
$kikansuuti = get_post_meta(get_the_ID(), 'Kikan14', true);
  if ( date('U') - get_the_time('U') > 60*60*24*$kikansuuti ) {
  ?>
  <div class="old-post-message">
    <p><strong><span style="color: #ff0000;">この記事は<?php the_time('Y年n月j日') ?>に書かれたものです。</span></strong></p>
  </div>
  <?php
  }
?>

カスタムフィールド

カスタムフィールドに値を入力して使用します 上記コードの場合入力するフィールド名はnisucfとなります ※カスタムフィールド名を変更する場合は2行目と3行目部分nisucfを変更してください カスタムフィールドに入力する値は何日後に表示するか日数を入力します。(1年後の場合は365)

表示

表示を行いたい位置にショートコードを記入する形で表示を行います。 function,phpへコードを記入しショートコードを使えるようにする方法はこちら

固定日数後に表示する場合(おまけ)

記事公開から固定日数後に表示する場合はカスタムフィールドの値は必要ありませんので下記コードを使用するだけで簡単に表示することができます。

<?php
if ( date('U') - get_the_time('U') > 60*60*24*365 ) {
?>
<div class="old-post-message">
<p><strong><span style="color: #ff0000;">この記事は<?php the_time('Y年n月j日') ?>に書かれたものです。</span></strong></p>
</div>
<?php
}
?>

2行目最後の部分365になっている部分が日数指定になります、表示したい日数に変更してお使いください

コメント