情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
この記事はかなり古いので、出勤・スケジュール管理の覚書2 参照してください。
カスタム投稿「スケジュール(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 に関する記事 新着
- 複数コースの日時予約サンプル
- ワードプレスからメール送信 2026.4更新
- ACF リピーターの小技
- ACF リピーターに目次を付ける方法
- ACF リピーターの目次作成・見出し欄とエディター
- カスタムフィールドの表示などコンテンツの一部にパスワード
- Magic Fields からACF Pro への移行手順
- CF7 分類用にカスタムフィールドをつける
- ACF 投稿オブジェクトでメールフォームを選択
- Booking Package など予約受付の話
- ACF 便利機能 2026年更新
- 休日・休業日データ
- 投稿者にタームを紐づける
- スクリプトの記述をACF リピーターで
- qtranslate からpolylang への移行を試す
- ACF 複数パターンの設定
- ACFとEasy Table of Contents
- ACF 画像フィールドのサイズ指定
- ACF Blocks VS ショートコード
- CF7 デートピッカーに休業日を設定