All in one Event Calender カスタマイズ

WordPressのカレンダープラグインとして有名な All in one Event Calentderですが、ちょっとした表示が外国風で気になります。
月表示のフォーマット文字が”F”になってるとか、月が年より前に表示されるとか…
で、修正したのは

  1. ウィジェットで月カレンダーを表示すると、当月の表示が「4 2020年」とかになる。
  2. イベントが入っている場合、スケジュールにポイントするとポップアップする日付表示が「4月5」とか「@」がついたりする。

です。

実行しているファイルは

  1. の方は、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月' );
  2. の方は、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)

    とりあえず備忘録。
    フック習得して、いつの日かちゃんとします。