「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
イベントカレンダープラグイン(その12・Data APIでのアクセス)
イベントカレンダープラグインでは、Data APIを利用してイベントの情報を得ることもできます。
1.エンドポイント
イベントカレンダープラグインでは、「http://your-host/path-to-mt/mt-data-api.cgi/v1/sites/サイトID/events」という形式のエンドポイントを提供します。
このエンドポイントにGETメソッドでアクセスすることで、イベント(に対応する記事)の情報を取得することができます。
上記のエンドポイントにアクセスする際に、以下のパラメータを指定することもできます。
パラメータ名 | 渡す値 | |
---|---|---|
type | 取得するイベントのタイプ 指定できる値は以下の通り |
|
current | 現在開催中のイベント | |
past | 終了したイベント | |
future | 今後開催予定のイベント | |
current_or_future | 開催中または今後開催予定のイベント | |
category | イベントが属するカテゴリの名前 | |
categoryIds | イベントが属するカテゴリのID | |
tag | イベントにつけたタグの名前 | |
tagIds | イベントにつけたタグのID | |
sortOrder | 古いイベントから順に取得する場合はascend 新しいイベントから順に取得する場合はdescend | |
outOrder | 古いイベントから順に出力する場合はascend 新しいイベントから順に出力する場合はdescend | |
limit | 取得するイベントの件数 | |
offset | 読み込みをスキップするイベントの件数 |
なお、category/categoryIds/tag/tagIdsは、複数の値をコンマで区切って指定することもできます。
2.JavaScriptでのアクセス
JavaScriptのライブラリを利用して、イベントの情報を取得することもできます。
2-1.ライブラリの組み込み
まず、HTMLに以下のscriptタグを入れて、Data APIのライブラリと、イベントカレンダープラグインのライブラリを組み込みます。
「your-host」と「path-to-mt」の部分は、ご自分の環境に合わせて置き換えます。
また、Movable Typeのテンプレートの中では、「http://your-host/path-to-mt/mt-static/」の部分をMTStaticWebPathタグに置き換えることができます。
<script type="text/javascript" src="http://your-host/path-to-mt/mt-static/data-api/v1/js/mt-data-api.js"></script> <script type="text/javascript" src="http://your-host/path-to-mt/mt-static/plugins/EventCalendar/js/extension.js"></script>
2-2.listEventsメソッド
次に、Data APIのオブジェクトに対して「listEvents」というメソッドを実行し、イベント(に対応する記事)の情報を取得します。
Data APIの初期化から、listEventsメソッドを実行するまでの流れは、基本的には以下のようになります。
「your-host」と「path-to-mt」の部分は、ご自分の環境に合わせて置き換えます。
var api = new MT.DataAPI({ baseUrl: 'http://your-host/path-to-mt/mt-data-api.cgi', clientId: 'example' }); var param = { パラメータの指定 }; api.listEvents(siteId, param, function(response) { var events = response.items; 個々のイベントに対する処理 });
listEventsメソッドにコールバック関数を指定して、イベントを取得した後の処理を入れます。
コールバック関数のパラメータのresponseには、MT標準のlistEntriesメソッドと同様に、totalCount(イベントの記事の件数)とitems(イベントの記事の配列)の2つのプロパティがあります。