WordPressでイベントカレンダーを設置していて、2日間悩んだので、その備忘録メモ。 WordPressのカレンダープラグイン「All-in-One Event Calendar 」を管理画面からインストール。 イベント告知をする目的にはぴったりで、デザインも美しい。なにより、カテゴリ別にカレンダーや一覧リストを表示できたり、Googleカレンダーと同期できたり、スマホなどのカレンダーにエクスポートしたりと、盛りだくさん。エクスポートなどは若干不安定な様子もあるけれど、すばらしい。一部ながら日本語化ファイルを提供してくださっている方もあった。 で、これの月表示させると、なぜか、イベントの開始時刻が表示されない。逆に全日イベントだと00:00開始と表示される。週表示やリスト(agenda)ではちゃんと表示されるので、実用上問題は少ないものの、なんだか気持悪い。 そこで、開発元のフォーラムを探したら、ちゃんと対策を投稿している人がありました。 [Support request] Event times not showing up in Month View 実は、修正箇所自体は見つけていたのだけど、twigというテンプレート記述言語?で書かれたプログラムを修正適用する方法が分からなかった。それで何度も無駄な修正や試行錯誤を繰り返す羽目に。 結論としては、サーバー上のファイルを一か所修正するだけ。 [wp-plugin_dir]all-in-one-event-calendar/public/themes-ai1ec/vortex/twig/month.twig の60行目付近にあるif判定を逆にする。
[code] {% if event.is_allday %} ==> {% if not event.is_allday %}
<span class=”ai1ec-event-time”>
{{ event.get_runtime( ‘short_start_time’ ) }}
</span>
{% endif %}[/code]
その後、キャッシュをクリアする <wp-plugin_dir>all-in-one-event-calendar/cache の中身を削除 だいたい all-in-one-event-calendar のテーマとしてはUmbra 等を使っていても、なぜかvortexを中にあるtwigを編集するか分らない。おまけにvortexとUmbra 以外のGammaやPlanaにはテーマを切り替えられないのも不思議。 まだまだ謎だらけだけど、とりあえず目的のことはできた。 ついでながら、All-in-One Event Calendaがらみでもう一つ。 カレンダーのページを印刷しようとすると、イベント部分の詳細を示すリンクURLが印刷される。?? ソースコードを眺めてみたが、よくわからなかったので、wordpress自体のstyle.cssを修正して一時しのぎ。 [wp-press]}style.cssの下のほう @medlia print部分
[code]@media print
{ a[href]:after {display:none;} この行追加[/code]
適用しているテーマによっては@medlia printはないかも。
2015.05.14追記
今朝公表されたバージョン 2.0.7では、全日イベントの時刻表示は修正されていました。
不安定だったiCALへのエクスポートも、ipadなどで無事実行されるようです。
でも、Googleカレンダーへのエクスポートはできないままだし、印刷時のURL表示も変わっていない。
気長に対策版を待ちますか。