WordPressのカレンダープラグインとして有名な All in one Event Calentderですが、ちょっとした表示が外国風で気になります。
月表示のフォーマット文字が”F”になってるとか、月が年より前に表示されるとか…
で、修正したのは
- ウィジェットで月カレンダーを表示すると、当月の表示が「4 2020年」とかになる。
- イベントが入っている場合、スケジュールにポイントするとポップアップする日付表示が「4月5」とか「@」がついたりする。
です。
実行しているファイルは
- の方は、wp-content/plugins/all-in-one-event-calendar/app/view/calendar/view/month.php の69行あたり。
【変更前】
$title = $local_date->format_i18n( 'F Y' );
【変更後】
$title = $local_date->format_i18n( 'Y年n月' );
- の方は、wp-content/plugins/all-in-one-event-calendar/app/view/event/time.php の 177行あたり。
【変更前】
public function get_short_date( Ai1ec_Date_Time $time, $add_year = false ) {
$months = apply_filters( 'ai1ec_i18n_months', array() );
$m = $time->format_i18n( 'M' );
$m = array_key_exists( $m, $months ) ? $months[$m] : $m;
if ( $add_year ) {
return $m . '@' . $time->format_i18n( 'm月j' );
}
return $m . '@' . $time->format_i18n( 'j' );
}
【変更後】
public function get_short_date( Ai1ec_Date_Time $time, $add_year = false ) {
$months = apply_filters( 'ai1ec_i18n_months', array() );
$m = $time->format_i18n( 'M' );
$m = array_key_exists( $m, $months ) ? $months[$m] : $m;
if ( $add_year ) {
return $m . ' ' . $time->format_i18n( 'Y年n月j日' );
}
return $m . ' ' . $time->format_i18n( 'j日' );
}これで思った通りに表示してくれるんですが…
プラグインに直接書き込んじゃってるから、アップデートされるともとに戻っちゃいます。
同じように毎度毎度修正しているのがEventManager。参加費の表示に小数点以下2桁表示するんですよね…フィルターフックやアクションフックをちゃんと勉強しなくちゃ…(今回も書いてみたけど白ワニ来やがった orz)
とりあえず備忘録。
フック習得して、いつの日かちゃんとします。