
目次
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() の内部 |
| ユーザー向け? | いいえ。基本的にテーマやプラグイン開発者が内部的に使う |
| 利用例 | カレンダーの曜日ヘッダーや日付マトリクスを正しく並べたいとき |