情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
カスタム投稿「スケジュール(1日1投稿)」「キャスト(1人1投稿)」、カスタムフィールドの設定はAdvanced Custom Fields を使用。
「スケジュール」はデイトピッカーで日付を指定し、この日付がタイトルになるように設定。繰り返しフィールドで投稿オブジェクト(キャスト)と勤務時間のフィールド。
「スケジュール」のアーカイブは日付が今日よりも大きいものを表示。出勤キャストの情報は投稿オブジェクトのフィールドを取得して、そのIDからキャストのカスタムフィールドを取得して表示。
<?php if (get_field('casts')) { ?><?php while(the_repeater_field('casts')): ?> <?php $post_object = get_sub_field('cast'); ?><?php the_field('profile', $post_object->ID); ?> <?php endwhile; } ?>
「キャスト」の個別ページに数日分のスケジュールを表示。
今日の日付、今日プラス1、今日プラス2…で日付を取得して、「スケジュール」の、その日付のタイトルの投稿IDを取得、そのIDの繰り返しフィールドの中にキャストの投稿のIDがあったら勤務時間を表示。
*日付を取得する際にズレがある場合はタイムゾーンを指定。
<?php date_default_timezone_set('Asia/Tokyo'); $week = array ( '日', '月', '火', '水', '木', '金', '土' ); ?> <?php echo date("n月j日"); echo ' (' . $week[date ('w')] . ')'; ?> <?php echo date("n月j日", strtotime("+1 day")); echo ' (' . $week[date ( 'w', strtotime("+1 day") )] . ')'; ?> <?php echo date("n月j日", strtotime("+2 day")); echo ' (' . $week[date ( 'w', strtotime("+2 day") )] . ')'; ?>
その他のAdvanced Custom Fields に関する記事一覧
- ページ・投稿の差し替え更新
- ゆっくり編集・プレビューして更新する
- メールフォーム・申込みの締め切り
- ACF iframe
- acf カウント
- ACFで日時指定更新/ゆっくり編集して更新
- アイキャッチの有無とリピーター1つ目の画像
- ACFリピーターのサブフィールドを自動作成
- イベントカレンダーサンプル(ACFとCF7)
- acf 投稿オブジェクトにメタ値でフィルター
- ACF 画像URLからALTを取得
- 子テーマでACFを使う
- ACF リピーターをランダムに
- ブロックエディターでACFを使う
- ACF Blocks
- acf reset_rows
- ACF 値などの登録まとめ
- ACF チェックボックスの値での条件分岐
- ACF 柔軟コンテンツフィールド、固定ページ用
- ACF 柔軟コンテンツフィールド、ブログ・コラム用