2008.04.03
カレンダーの「土」と「日」の文字に色を付ける
WordPress ME 2.2.3からWordPress 日本語版 2.5に移行してサイトの表示をチェックしていたところ、サイドバーのカレンダーで「土」と「日」という文字が平日と同じ色になってしまっていることを発見。(^^;
以前は「土」が青で「日」が赤だった筈なんですよね。
ソースを見てみたらWordPress ME 2.2.3で作ったカレンダーは
<th abbr=”土曜日” scope=”col” title=”土曜日”><span style=”color: rgb(0, 77, 153);”>土</span></th>
<th abbr=”日曜日” scope=”col” title=”日曜日”><span style=”color: rgb(219, 0, 0);”>日</span></th>
となっているのにWordPress 日本語版 2.5で作ったカレンダーは
<th abbr=”土曜日” scope=”col” title=”土曜日”>土</th>
<th abbr=”日曜日” scope=”col” title=”日曜日”>日</th>
となってます。
そりゃ色が付かん筈だわ。(⊃Д`)゚。
カレンダーを出力するところはgeneral-template.phpに記述があるんだけど、そこには該当しない模様。
どこで抜けたんだろうとソースをあれこれ検索して、見つけたのはjp.poファイルでありました。
WordPress ME 2.2.3のja.poファイルには
#: wp-includes/locale.php:30
msgid “S_Sunday_initial”
msgstr “<span style=¥”color: #DB0000¥”>日</span>”
(略)
#: wp-includes/locale.php:36
msgid “S_Saturday_initial”
msgstr “<span style=¥”color: #004D99¥”>土</span>“
って記述があるんだけど、WordPress 日本語版 2.5のja.poファイルでは
#: wp-includes/locale.php:120
msgid “S_Sunday_initial”
msgstr “日_Sunday_initial”
(略)
#: wp-includes/locale.php:126
msgid “S_Saturday_initial”
msgstr “土_Saturday_initial”
になってる。
んー、このja.poファイルを書き換えてもja.moファイルはバイナリだからなー。
生成するのも面倒だぞっと。
直接general-template.phpをいじるのが楽そうだけど、はて、条件分岐とかって書くのはちょっと…(^^;;;
解決策探しにGoogleの旅にー。
で、ちゃんと答えが見つかるネットってスゴい。
参考にさせていただいたのはこちら。
WordPressのカレンダーで土日の色を変える < Blogo el Ermitejo
うちは小粋空間: 休日表示付きリアルタイムカレンダー for WordPressプラグインでカレンダーの日付色も土日で色を変えているので、それに合わせてclassを指定しました。
/wp-includes/general-template.phpを開いて602?605行を次の様に書き換えるとOK。
foreach ( $myweek as $wd ) {
$day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd);
echo “¥n¥t¥t<th abbr=¥”$wd¥” scope=¥”col¥” title=¥”$wd¥”";
if ($wd == $wp_locale->get_weekday(0)) {
echo ‘ class=”holiday”‘;
}
elseif ($wd == $wp_locale->get_weekday(6)) {
echo ‘ class=”saturday”‘;
}
echo “>$day_name</th>”;
}
※フォントの関係で「¥」「“」「”」「‘」が全角になっていますが実際は全て半角です。
無事前の様に「土」が青に「日」が赤になって、めでたしめでたし。(^^)b