【至急・重要】ウィルスチェックのお願い

Change Style


WP plugin: 将来のイベントを表示 - EventCalendar

追記 2006.6.25 : 現在は無効化し、替わりに Google Calendar を貼っています。MySQL が 5.0.22 へバージョンアップされて以来、エラーが出るようになったため。(関連は不明)

調子に乗って、EventCalendar 3.0.4 を入れてみた。

EventCalendar
機能概要イベント専用カテゴリへの投稿(未来日付ok)を、カレンダーに表示/通常投稿と分けて表示(任意)
バージョン3.0.4
作者(web)firetree.net さま
配布元firetree.net » EventCalendar 3.0.4 * 最近版は別の URI になりそう。
ドキュメント
適用したWPWordPress ME 2.0.2 [UTF-8]

機能

カレンダー表示時のスクリーンショット

Word Pressでは未来の日付の投稿は表示されないが、このプラグインを入れると、イベント専用カテゴリの投稿がイベントリストとして表示できるようになり、カレンダーにも一般の投稿とは異なる表示でマークできる。
ログ表示部に他のログと同様に表示するか否かは選択できる。

導入手順

順序は初心者な私向け。オリジナルのまま動くことを確認してからハックとかを入れました。

  1. 配布元よりダウンロード。
  2. 解凍した eventcalender3.php, eventcalender3/ フォルダを wp-content/plugins/ ディレクトリに入れる。

    これを1つのフォルダにまとめて置く(ex. plugins/eventcalender/ に置いたり)と、基本的な動作はするが、ファイルのパスを .../plugins/eventcalendar3/... と書いている箇所があるため、EventCalender の JavaScript が動かない等の影響あり。

  3. 管理画面で有効化する。
  4. event 用カテゴリを作成。カテゴリ名は任意。
  5. 未来の日付でテスト投稿。
  6. 「管理画面 - オプション - EventCalendar」 にて動作設定。設定内容については下記参照。
  7. 表示用コードを wp-content/themes/使用テーマ/sidebar.php に挿入する。
  8. WordPress2.0用にハック:
    これにより未来分の投稿が表示されるようになる。
    wp-includes/classes.php の677行目から次の一群があるので、readme.txt のとおりに、+の行を追加する(行頭の+は削除)。
          } else {
            if (mysql2date('U', $this->posts[0]->post_date_gmt) > mysql2date('U', $now)) { //it's future dated
              $this->is_preview = true;
              <この位置に+の行を挿入>
              if (!current_user_can('edit_post', $this->posts[0]->ID)) {
                $this->posts = array ( );

    + を抜かないと次のエラーが出る。

    Parse error: syntax error, unexpected T_IF in /virtual/bono/public_html/wp-includes/classes.php on line 681

オプション

  • 動作・表示オプション: 「管理画面 - オプション - EventCalendar」 と wp-content/themes/使用テーマ/sidebar.php に挿入するコードにて設定。cf. readme.txt
    日時のフォーマットは php の date() 関数と同じ。
  • オプション画面の説明: (和訳ではなく、ぼの解釈による説明です。)EventCalendarオプション画面
    1. Event category: イベント用に作成したカテゴリ名を選択。
    2. Show events as blog entries: メインコンテンツ部へのイベント投稿の表示方法を2択。
      • Events are Normal Posts - 通常投稿と同様に、投稿日時以降になったら表示される。イベントカテゴリを選んだときには、通常投稿の表示順にて将来分・過去分とも表示される。
      • Keep Events Separate - 投稿日付になってもフロントページには表示されない。イベントカテゴリを選んだときには、当日~将来分が日付の昇順に表示され、過去分は表示されない。月別・日別アーカイブには過去分も表示される。

      どちらを選んでも、イベントカレンダーには過去分・将来分ともマークされ、イベントリストには将来分が表示される。

    3. Number of months: カレンダー表示する月数
    4. Show all categories in calendar: イベントカレンダーに全カテゴリを表示するか; Only Show Events(イベントのみ表示) / Show All Posts(全カテゴリを表示)
    5. Show day names as: 曜日の表示。日本語なら ‘Single Letter’ でよいかと。; Single Letter(英語でいう S) / 3-Letter Abbreviatio(Sun) / Full Day Name(Sunday)
    6. Show Event Calendar logo: カレンダーに Event Calendar のロゴを表示するか否か。; Show Logo(表示) / Hide Logo(非表示)
    7. Position of navigation links: 前後の月へのナビゲーションリンクの表示位置; Above Calendar(カレンダーの上) / Below Calendar(カレンダーの下)
    8. Popup event lists: カレンダーの日付にポインタを合わせたときに、プラグインの仕様による投稿タイトルのポップアップをさせるかどうか。a タグに title 属性が入っているので、ここで非表示を選んでもブラウザによってはポップアップ表示されます。; Show Popups / Hide Popups
  • デザイン(CSS)について:
    • 出力されるXHTMLソースが、WordPress のデフォルトカレンダーと少し異なるので、要調整。
    • 付属の CSS は head タグ内に eventcalendar3/ec3.css をimportするほか、eventcalender3.php の205~233行目(function ec3_action_wp_head()内にあり) も直接書き込まれる。WP のテーマの CSS より後に読み込まれるために優先されるので、競合する箇所は適宜調整。

気になる箇所

  • イベントリストの表示に時間がかかっている模様。
  • クラスセレクタが次のように出力されるので、イベントのみの日とイベント・ポスト両方の日の区別が付かず、CSSで苦戦中。イベントのみの日は ec3_postday を入れなかったらダメ?
    • 一般ポストのみの日:td class="ec3_postday"
    • イベントのみの日:td class="ec3_postday ec3_eventday"a class="eventday"
    • ポスト・イベント両方の日:td class="ec3_postday ec3_eventday"a class="eventday"
  • JavaScript と CSS の一部が 内に直接書かれる。内容も valid にはなってないかも?要確認。

13 Responses to “WP plugin: 将来のイベントを表示 - EventCalendar”

  1. Telmina » 【WordPress】「Event Calendar」導入 :

    [...]  日本語で関連情報が掲載されているページを検索してみたところ、はじめ「WP plugin: 将来のイベントを表示 - EventCalendar」というページに遭遇いたしました。 [...]

  2. ぼの :

    Sa・Gaさん、こんにちはー。書き込み遅くなってごめんなさいです。。
    このプラグインは、3.1 からかなり高機能になりましたね。(^-^)
    イベントの期間入力や、Google calendar との連携が出来そうなところとか。。面白そうなので、またいつか試してみたいなあと思っています。
    トラックバックありがとうございました。 :-)

  3. Sa・Ga :

     ぼの様、ご無沙汰しております。

     実は向こうでも申し上げておりますように、WordPressのコアなモジュールをいじるのがいやでしたので(日本語対応のためにどうしてもしなければならない1カ所についてはあきらめていますけど)、ほかにないかと思い探したところヒットしたのが、例のヴァージョン3.1だったりします。

     Google Calendarとの連携については気づいておりませんでしたが、最近は自分もGoogle Calendarを使っておりますので要チェックですね。といいつつ、先ほどちょっと試してみたらどうもうまく連携できないようですが・・・。

     後日まとまった時間ができたら再度試してみたいと思います。返信ありがとうございました。

  4. Sa・Ga :

     ・・・時間差でぼの様のコメントが消えてしまったようです。あれれ?

  5. ぼの :

    はららー?
    と思ったら、間違って自分のもスパム処理してました。。(^^;
    Sa・Gaさん、戸惑わせちゃってごめんなさいー。

  6. ぼの :

    お詫びに Google Calendar との連携を試してみました。

    1. Google Calendar の「▼カレンダー」の中にある「他のカレンダー+」の「+」のところをクリック。
    2. 「他のカレンダーを追加」の画面に切り替わったら、「公開カレンダーの URL」をクリック。
    3. http://www.telmina.com/?ec3_ical と入力して「追加」をクリック。

    これで、Telmina カレンダーが、ぼのの Google Calendar に表示されるようになりました。 :-)

    参考: Event Calendar » Advanced Queries - Subscribe to iCalendar

    About の You can subscribe to the calendar from iCal (OSX), Sunbird or Google calendar. を見て、ブログのカレンダーに Google Calendar のイベントを表示するのかと思っていたら、逆でした。やっぱり英語ダメすぎ。。orz

  7. Sa・Ga :

    お詫びに Google Calendar との連携を試してみました。

     すみません。わざわざ調べていただいてありがとうございます。
     しかし、残念ながらGoogleのパーソナライズド・ホームページに設置したカレンダーには反映されないようですね。それができればもっとよかったのに・・・。

    ブログのカレンダーに Google Calendar のイベントを表示するのかと思っていたら、逆でした。

     例の英語、思いっきりそれをできそうに読めるのですけどねぇ。自分もやっぱり英語ダメダメですね(苦笑)。
     ・・・あ、Google Calendar「に」追加できるという意味か。

  8. ぼの :

    ああ、ごめんなさいー。パーソナライズド・ホームページでしたか。。
    そちらには基本のカレンダー 1つしか表示できないみたいですね。。ううむ、残念。

  9. Ken :

    ちょっと質問ですが、このプラグインってアクティブにしたあと、
    のタグが無効になることはないでしょうか。

    僕がやったときにはそのような状態が起きてしまったのですが、
    どなたか対処方法があればお聞かせ願いたく思います。

    よろしくおねがいします。

  10. ぼの :

    >kenさん

    はじめまして、こんにちはー。

    「のタグ」の前に、HTMLタグか何かコードを書かれましたか?

    WP のコメント投稿では、< や > を「&lt;」や「&gt;」のように実体参照で書かないと、その部分が除去されてしまうんです。。ごめんなさい。ご面倒をおかけしますが、もし消えてしまった箇所があれば、そのように書いてみてくださいー。

    あと、バージョンによって動作が異なるので、少なくとも、お使いのWordPress とプラグインのバージョン情報も。。

  11. Ken :

    親切なご対応ありがとうございます。

    WPのバージョンはVersion 2.3.3で
    Event Calendarは3.1.1._rc3です。

    現在このサイト内で使用を検討中です。

    ttp://www.dude-magazine.com

    お手数おかけしますがご教示のほど、
    何卒宜しくお願いいたします。

  12. ぼの :

    kenさん、もう一度、最初のご自分のコメントと私の返事を読み返してください。
    質問の内容が分からないです。。

  13. Ken :

    混乱させてしまいもうしわけございません。

    カレンダープラグインを使用した際に を使用し
    隠している記事の箇所が無効になり記事全文が表示されてしまいます。

コメントをどうぞ