WordPress.org APIからプラグインデータをAjaxで取得してみた覚書
WordPress.orgのAPIを叩いて公式プラグインの情報を取得する方法をまとめました。PHPを使った方法は結構見かけたのですが、jQueryで取得してみたかったのでトライしてみたら出来たのでメモ。 Communic […]
目次
WordPress.orgのAPIを叩いて公式プラグインの情報を取得する方法をまとめました。PHPを使った方法は結構見かけたのですが、jQueryで取得してみたかったのでトライしてみたら出来たのでメモ。
Communicating With the WordPress.org Plugin API – Tuts+ Code Tutorial
WordPress.org API « WordPress Codex
WordPress.org API(プラグイン)の各パラメーター
Communicating With the WordPress.org Plugin API – Tuts+ Code Tutorialに英語で紹介があるので日本語にしてみます。
2つの引数
POSTで投げつけるデータには「action」と「request」の2つのパラメータを送信します。
コードにすると以下のような内容になります。
[html]
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="wp_org_api"></div>
<script>
var postData = {
action: ‘取得するデータタイプ’,
request: ‘リクエスト内容’
}
$.ajax({
url: ‘https://api.wordpress.org/plugins/info/1.1/’,
type:’POST’,
data: postData,
dataType: ‘json’,
timeout:10000,
}).done(function(data) {
$(‘.wp_org_api’).append(‘success’);
}).fail(function(data) {
$(‘.wp_org_api’).append(‘failed’);
});
</script>
[/html]
actionに入れるプロパティ
actionで使えるプロパティは以下の3つです。
- query_plugins
- plugin_information
- hot_tags
requestに入れるプロパティ
ここでは検索条件と表示件数・取得データを設定できます。
それぞれのプロパティによってrequestの内容が変わってきますので、ここからは個別に紹介します。
1:query_pluginsのrequest
検索条件
このプロパティはどれか1つしか使えません。
- browse:’popular’,’new’,’updated’,’top-rated’のどれか1つ
- search:’検索キーワード’
- tag:’タグ名’
- author:’作者名’
browseはWordPress › Most Popular « WordPress Pluginsなどで表示される内容が返ってきます。
表示件数
表示件数を調整するオプションとして、以下の2プロパティが存在します。
- per_page:5//表示件数
- page:1//ページ送り
取得データ
最後にfieldsというプロパティを使うことで取得データを調整できます。
- downloaded:ダウンロード数
- rating:評価
- description:説明文
- short_description:概要文
- donate_link:寄付先リンク
- tags:タグ
- sections:プラグインページのタブ内容
- homepage:プラグインホームページ
- added:リリース日
- last_updated:最終更新日
- compatibility:互換性データ
- tested:テストされているWordPressのバージョン
- requires:動作要件(WordPressのバージョン)
- downloadlink:ダウンロードリンク(zip)
デフォルトでは全てfalse(非表示)になっているので、表示させたいデータについては「added:true」の様にtrueを設定しましょう。
2:plugin_informationのrequest
「plugin_information」では、指定したプラグインのデータを取得することができます。
プラグイン名を指定する
プラグイン名の指定には「slug」というプロパティを使用します。
slugはWordPress.orgのプラグインページのURLから取ってくると良さそうです。
例:https://wordpress.org/plugins/jetpack/→jetpack
取得データ
こちらもfieldsで取得データの調整が行えます。
- added:リリース日
- compatibility:互換性データ
- downloadlink:ダウンロードリンク(zip)
- donate_link:寄付先リンク
- homepage:プラグインホームページ
- last_updated:最終更新日
- rating:評価
- requires:動作要件(WordPressのバージョン)
- sections:プラグインページのタブ内容
- tags:タグ
- tested:テストされているWordPressのバージョン
3:hot_tagsのrequest
hot_tagsはTagsのデータを取ってきている様子です。
rewuestで送信するのは「number」というプロパティのみで、これは取得するタグの数を設定するものです。
使いまわせそうな形に整形してみる
せっかくなのでそれぞれ実際に取得するコードにしてみました。
requestの値を調整すれば、自分が作ったプラグインのデータだけを引っ張りだすことも可能です。
何に使う?
APIを組み合わせれば、プラグインの検索サービスとか作れそうな予感です。
もしくはRなどに放り込んでWordPressプラグインに関する統計データを調べてみるのも面白いかもです。