XO Event Calendar カレンダーの曜日名

XO Event Calendar プラグインのカレンダーに表示される曜日の文字を変更する方法を紹介します。

現バージョンでは、専用のフィルターフックや設定を用意してはいないのですが、文字列はすべて gettext を使用しているので gettext フィルターフックで変更することは可能です。

例えば、曜日を “Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri’ および “Sat” へ変更する場合は、下記のようなコードになります。

テーマの functions.php 等に記述してください。

function my_gettext_calendar( $translated, $text, $domain ) {
	if ( $domain === 'xo-event-calendar' ) {
		$texts = array (
			'Sun' => 'Sun',
			'Mon' => 'Mon',
			'Tue' => 'Tue',
			'Wed' => 'Wed',
			'Thu' => 'Thu',
			'Fri' => 'Fri',
			'Sat' => 'Sat',
		);
		if ( isset( $texts[$text] ) ) {
			$translated = $texts[$text];
		}
	}
	return $translated;
}

add_filter( 'gettext', 'my_gettext_calendar', 10, 3 );

独り言

ちなみに WordPress は最新バージョン(4.9.x)でも、PHP のバージョンは 5.2.4 以上で動作することになっています。よって、コーディングするさいは基本的にはバージョン 5.2.4 で動作することを心掛けてはいたのですが、さすがに 5.2 では無駄な労力を費やしているように思えてくる。

上記のコードも、バージョン 5.3 より使用できるようになった無名関数を使用すれば、下記のようにスッキリします。

add_filter( 'gettext', function( $translated, $text, $domain ) {
	if ( $domain === 'xo-event-calendar' ) {
		$texts = array (
			'Sun' => 'Sun',
			'Mon' => 'Mon',
			'Tue' => 'Tue',
			'Wed' => 'Wed',
			'Thu' => 'Thu',
			'Fri' => 'Fri',
			'Sat' => 'Sat',
		);
		if ( isset( $texts[$text] ) ) {
			$translated = $texts[$text];
		}
	}
	return $translated;
}, 10, 3 );

そろそろ、WordPress の PHP の動作環境バージョンを引き上げてもいい時期にきているのではないかと思うのだがどうなのだろうか・・・。

コメントを残す

メールアドレスが公開されることはありません。

日本語でコメントを入力してください。