Google Calendar のフィードを読み込み、カレンダー表示やリスト表示できる WordPress のプラグイン Google Calendar Events の使い方や設定に関するメモ。
追加情報
以下の記事は2014年5月21日の時点でのもので、その後大幅な変更があり、現在のバージョンとは異なっています。(つまり今のバージョンに関しては以下の記事は役に立ちません。。。。)
目次
Google カレンダーのフィードを表示するにはカレンダーを一般公開する必要がある。
「設定」→「Google Calendar Events」
「Add Feed」をクリック
以下のような画面が表示される
URL が表示される
Grids 表示のときのツールチップに表示されるイベントの内容や、リストに表示される内容に関する設定。
「Simple display options」と「Event display builder」を使う2つの方法がある。「Event display builder」の方がより柔軟な設定が可能(但しその分少し複雑)。
「Event display builder」は HTML と ショートコードを使って、表示されるイベントの内容を設定する。
ショートコードの詳細や指定可能な属性については以下のページに記載されている。
以下はデフォルトの「Event display builder HTML and shortcodes」
<div class="gce-list-event gce-tooltip-event">[event-title]</div> <div><span>Starts:</span> [start-time]</div> <div><span>Ends:</span> [end-date] - [end-time]</div> [if-location]<div><span>Location:</span> [location]</div>[/if-location] [if-description]<div><span>Description:</span> [description]</div>[/if-description] <div>[link newwindow="true"]More details...[/link]</div>
ショートコード(とその属性の指定)と HTML を組み合わせて表示を設定可能。
例
[event-title html=”true”] とするとイベントのタイトル部分が HTML で記述されていれば、HTML を解析して表示される(属性の「html=”true”」がなければ、単なるテキストとして表示される)
タイトルをマークアップしている p 要素にフィードの ID を使ったクラスを指定する例。
<p class="feed-[feed-id]">[event-title]</p>
CSS に以下を設定
.feed-1{ background:#FF0000; } .feed-2{ background:#00FF00; }
これにより ID が「1」のフィードのタイトルの背景は赤(#FF0000)で表示され、ID が「2」のタイトルの背景は緑(#00FF00)で表示される。
ショートコード | 概要 | 使用可能な属性 |
---|---|---|
[event-title] | イベントタイトル | html, markdown |
[start-time] | 開始時刻(フォーマットはフィードの設定で指定したもの) | offset |
[start-date] | 開始日(フォーマットはフィードの設定で指定したもの) | offset |
[start-human] | イベントが開始されるまでの時間(またはイベントが開始されてからの時間:‘now’ との差)を人が読みやすい形式で表示(’1 hour’, ’4 days’, ’15 mins’ etc) | offset |
[end-time] | 終了時刻 | offset |
[end-date] | 終了日 | offset |
[location] | 場所 | html, markdown |
[maps-link]…[/maps-link] | この間に記述されたもの(ショートコードを含む)は Google Maps へのリンクとして表示される。リンク先は「場所」に記述されている値が使用される。次のような記述が可能。[maps-link][location][/maps-link] | newwindow |
[description] | 説明 | html, markdown, limit |
[link]…[/link] | この間に記述されたもの(ショートコードを含む)は Google カレンダーのイベントページへのリンクとして表示される。例 [link][event-title][/link] | newwindow |
[feed-title] | フィードのタイトル | |
[feed-id] | フィードの ID (クラス名の一部として使うと便利) | |
[if-title]…[/if-title] | この間に記述されたものは、タイトルが設定されている場合のみ表示される | |
[if-description]…[/if-description] | この間に記述されたものは、「説明」が設定されている場合のみ表示される | |
[if-location]…[/if-location] | この間に記述されたものは、「場所」が設定されている場合のみ表示される | |
[if-started]…[/if-started] | この間に記述されたものは、イベントが開始されている場合のみ表示される | |
[if-not-started]…[/if-not-started] | この間に記述されたものは、イベントが開始されていない場合のみ表示される。(例) [if-not-started]Starts in [start-human][/if-not-started]とすると「Starts in 3 days」のように表示される | |
[if-ended]…[/if-ended] | この間に記述されたものは、イベントが終了している場合のみ表示される | |
[if-not-ended]…[/if-not-ended] | この間に記述されたものは、イベントが終了していない(開始されていない場合も含む)場合のみ表示される。 | |
[if-tooltip]…[/if-tooltip] | この間に記述されたものは、このプラグインが Grid 表示(カレンダー表示)でツールチップ表示の場合に表示される。(これを使うとツールチップ表示とリスト表示の場合に異なる情報を表示することができる。また、それぞれ異なる CSS クラスが出力される。) | |
[if-list]…[/if-list] | この間に記述されたものは、このプラグインが リスト表示の場合に表示される。(これを使うとツールチップ表示とリスト表示の場合に異なる情報を表示することができる。また、それぞれ異なる CSS クラスが出力される。) |
「設定」→「Google Calendar Events」
「Current Feeds」下に表示されているフィードのタイトルの右側の「Edit(編集)」、「Delete(削除)」をクリック。「編集」の画面は「フィードの追加」とほぼ同じ。
functions.php に「register_sidebar()」でサイドバーを登録。名前は任意の文字列。
register_sidebar(array( 'name' => 'googleCalendarEvents' ));
管理画面「外観」→「ウィジェット」を選択
register_sidebar で定義したサイドバー「googleCalendarEvents」が右側に表示されているので、サイドバー「googleCalendarEvents」にウィジェット「Google Calendar Events」をドラッグ&ドロップで配置
オプションが表示される(表示されない場合は右側の ▼ をクリック)
Feeds to display, as a comma separated list…
フィードの ID を入力(複数ある場合はカンマ区切りで指定)。全てのフィードを表示する場合は何も入力しない(空)。
Display events as:
ドロップダウンから表示方法を選択。以下がオプション
Maximum no. events to display. Enter 0 to show all retrieved
表示するイベント数を指定。(フィードのオプションで設定した最大数「Maximum number of events to retrieve」より大きな値は無効)全てのイベントを表示するには「0」を指定。
Sort order (only applies to lists):
昇順か降順を指定(リスト表示の場合にのみ有効)
Display title on tooltip / list item?
ツールチップ上にタイトルを表示する場合はチェックを入れ、表示したい文字列を入力(空でもOK)
完了したら「Save」をクリック
ウィジェットを配置するテンプレートファイルに dynamic_sidebar 関数を記述。
<ul> <?php dynamic_sidebar('googleCalendarEvents'); ?> </ul>
ショートコードまたは do_shortcode()関数を使って出力する。
投稿やページにカレンダーやリストを表示するには以下のショートコードを記述する。
[google-calendar-events]
最大4つまでの異なるパラメータを指定可能。
以下は「フィード ID が1と3のフィードから AJAX を利用したグリッド表示のカレンダーに10個のイベントをツールチップのタイトル ‘Events on’ をつけて出力する」例。
[google-calendar-events id="1, 3" type="ajax" title="Events on" max="10"]
以下のようにテンプレートに do_shortcode()関数を使って出力することもできる。
<?php echo do_shortcode( '[google-calendar-events id="1, 3" type="ajax" title="Events on" max="10"]' ); ?>
「設定」→「Google Calendar Events」
Custom stylesheet URL
このプラグインのデフォルトのスタイルを変更する場合、新たにスタイルシートを作成してここのテキストボックスにそのスタイルシートの URL を指定。(プラグインのデフォルトの CSS を変更すると アップデートの際に上書きされるので注意)
Add JavaScript to footer?
AJAX の機能やツールチップの機能がうまく動作しない場合はここのチェックボックスにチェックを入れてみる。
Loading text
ロード中のテキストを指定。
Error message
イベントが表示されない場合にユーザーに表示するエラーメッセージ。(ログインしている管理者にはエラーの原因等も表示される)
Optimise event retrieval?
チェックが入っていれば(デフォルト)、「fields」と呼ばれる「Google Data API」のパラメータを使用。これによりパフォーマンスを大幅に改善できる。チェックを入れることを強く推奨。但し、試験的なフィーチャーなので Google が変更等する可能性がある。
Use old styles?
version 0.7 においてデフォルトのスタイルシート(CSS)に変更があった。このオプションをチェックすると以前のスタイル(今は削除・変更されているもの)のスタイルシートが追加される。将来的にはこのオプションは削除される予定。
以下のサイトで Google Calendar Events の日本語版を配布している。