
目次
calendar_week_mod()の用途
calendar_week_mod()
は、WordPress コアで使用されている内部的なユーティリティ関数で、カレンダー表示における曜日インデックスの調整を行うために使われます。
主に get_calendar()
(WordPress のカレンダーブロックを描画する関数)内で使われており、**週の始まりの曜日(start_of_week
)**を考慮して、曜日の並び順を調整する際に利用されます。
calendar_week_mod()の使用方法
calendar_week_mod( int $num )
calendar_week_mod()の引数
パラメータ | 型 | 説明 |
---|---|---|
$num | int | 元の曜日インデックス(0~6、日曜始まりが基準) |
戻り値
- 整数(0~6):調整後の曜日インデックス
- 週の開始曜日に応じてずらされた曜日番号が返されます
calendar_week_mod()は何をしている関数か?
カレンダーの週の始まりを 月曜日
に設定している場合など、通常の「日→月→火…」の並び順ではなく、「月→火→水…」としたい場合があります。
そのときにこの関数が「曜日のずれ」を調整してくれます。
calendar_week_mod()の具体的な処理内容(簡略化)
function calendar_week_mod( $num ) {
$start_of_week = get_option( 'start_of_week' ); // 週の開始曜日(0〜6)
return ( $num - $start_of_week + 7 ) % 7;
}
この処理により、曜日番号は start_of_week
を基準に再構成されます。
calendar_week_mod()の使用例:曜日の並び順の調整
たとえば、start_of_week
が 1(=月曜日)に設定されていた場合:
元のインデックス($num) | 曜日 | calendar_week_mod($num) の結果 |
---|---|---|
0 | 日 | 6 |
1 | 月 | 0 |
2 | 火 | 1 |
3 | 水 | 2 |
4 | 木 | 3 |
5 | 金 | 4 |
6 | 土 | 5 |
つまり、calendar_week_mod()
は カレンダーの曜日を「週の開始曜日」から始まるように整えるための関数です。
実用場面:get_calendar() 内部での使われ方
WordPress の get_calendar()
では、曜日ヘッダーの出力部分にこの関数が登場します:
for ( $day_index = 0; $day_index <= 6; $day_index++ ) {
$adj_index = calendar_week_mod( $day_index );
$day_name = $wp_locale->get_weekday_abbrev( $wp_locale->weekday[$adj_index] );
echo "<th>{$day_name}</th>";
}
このように、ユーザーが設定した「週の始まり」に応じて曜日の表示順序を調整しています。
calendar_week_mod()のまとめ
項目 | 内容 |
---|---|
関数名 | calendar_week_mod() |
主な用途 | 曜日のインデックスを週の開始曜日に合わせてずらす |
利用場所 | 主に get_calendar() の内部 |
ユーザー向け? | いいえ。基本的にテーマやプラグイン開発者が内部的に使う |
利用例 | カレンダーの曜日ヘッダーや日付マトリクスを正しく並べたいとき |