ACFで設定した日付以降に処理を実行する方法

ACFの日付選択ツールから設定した日付を過ぎたら、処理を実行する方法の備忘録です。

日付選択ツールは、入力フォームからカレンダーで日付を設定できるフィールドです。

日付フィールドに設定された日付と現在の日付を比較して、条件分岐によって表示を切り替えます。

日付フィールドを作成する

はじめに、ACFで日付フィールドを作成します。

ACFプラグインのインストール方法と詳しい使い方はこちらの記事でまとめています。

新規フィールドを作成し、フィールドタイプに「日付選択ツール」を選択します。

フィールドラベルとフィールド名を入力して、日付フィールドの完成です。

右上の「変更内容を保存」をクリックしてフィールドを保存します。

日付の設定

投稿ページを開くと、先ほど作成した日付フィールドが追加されているので処理を実行する日付を設定します。

日付を設定したら投稿ページを保存しておきます。

処理の実行

設定した日付を元に処理を実行するコードをテンプレートに追加します。

<?php
  $event_date = get_field('event_date');
  $today_date = date('d/m/Y'); 
  if ( $today_date > $event_date ) {
    echo '<p>終了しました</p>';
  } else {
    echo '<p>開催中</p>';
  }
?>

現在の日付が設定した日付を過ぎると「開催中」の表示が「終了しました」に変更されます。

日付フィールドで設定した日付をget_field('event_date')で取得しています。「event_date」部分は設定したフィールド名が入ります。

現在の日付はdate('d/m/Y')で取得しています。この時、d/m/Y部分はフィールドの表示形式で設定している形式と同じ値を設定します。

2つの取得した日付を比較して、設定した日付を過ぎたら表示が切り替わります。

特定の投稿ページの日付を取得したい場合は、以下のように投稿IDを設定して日付を取得します。

$event_date = get_field('event_date', $post_id);
Share on
関連記事
WordPressの人気記事(ランキング)をプラグインなしで表示する方法
WordPressの人気記事(ランキング)をプラグインなしで表示する方法
WordPressでカテゴリー名をリンクなしで取得する方法
WordPressでカテゴリー名をリンクなしで取得する方法
Smart Custom Fieldsで作成したフィールドの値を投稿一覧で表示する方法
Smart Custom Fieldsで作成したフィールドの値を投稿一覧で表示する方法