calendar_week_mod()

calendar_week_mod()
目次

calendar_week_mod()の用途

calendar_week_mod() は、WordPress コアで使用されている内部的なユーティリティ関数で、カレンダー表示における曜日インデックスの調整を行うために使われます。

主に get_calendar()(WordPress のカレンダーブロックを描画する関数)内で使われており、**週の始まりの曜日(start_of_week)**を考慮して、曜日の並び順を調整する際に利用されます。

calendar_week_mod()の使用方法

calendar_week_mod( int $num )

calendar_week_mod()の引数

パラメータ説明
$numint元の曜日インデックス(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) の結果
06
10
21
32
43
54
65

つまり、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() の内部
ユーザー向け?いいえ。基本的にテーマやプラグイン開発者が内部的に使う
利用例カレンダーの曜日ヘッダーや日付マトリクスを正しく並べたいとき
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次