WordPress

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つです。

  1. query_plugins
  2. plugin_information
  3. hot_tags

requestに入れるプロパティ

ここでは検索条件と表示件数・取得データを設定できます。

それぞれのプロパティによってrequestの内容が変わってきますので、ここからは個別に紹介します。

1:query_pluginsのrequest

検索条件

このプロパティはどれか1つしか使えません。

  1. browse:’popular’,’new’,’updated’,’top-rated’のどれか1つ
  2. search:’検索キーワード’
  3. tag:’タグ名’
  4. author:’作者名’

browseはWordPress › Most Popular « WordPress Pluginsなどで表示される内容が返ってきます。

表示件数

表示件数を調整するオプションとして、以下の2プロパティが存在します。

  1. per_page:5//表示件数
  2. page:1//ページ送り
取得データ

最後にfieldsというプロパティを使うことで取得データを調整できます。

  1. downloaded:ダウンロード数
  2. rating:評価
  3. description:説明文
  4. short_description:概要文
  5. donate_link:寄付先リンク
  6. tags:タグ
  7. sections:プラグインページのタブ内容
  8. homepage:プラグインホームページ
  9. added:リリース日
  10. last_updated:最終更新日
  11. compatibility:互換性データ
  12. tested:テストされているWordPressのバージョン
  13. requires:動作要件(WordPressのバージョン)
  14. downloadlink:ダウンロードリンク(zip)

デフォルトでは全てfalse(非表示)になっているので、表示させたいデータについては「added:true」の様にtrueを設定しましょう。

2:plugin_informationのrequest

「plugin_information」では、指定したプラグインのデータを取得することができます。

プラグイン名を指定する

プラグイン名の指定には「slug」というプロパティを使用します。

slugはWordPress.orgのプラグインページのURLから取ってくると良さそうです。

例:https://wordpress.org/plugins/jetpack/→jetpack

取得データ

こちらもfieldsで取得データの調整が行えます。

  1. added:リリース日
  2. compatibility:互換性データ
  3. downloadlink:ダウンロードリンク(zip)
  4. donate_link:寄付先リンク
  5. homepage:プラグインホームページ
  6. last_updated:最終更新日
  7. rating:評価
  8. requires:動作要件(WordPressのバージョン)
  9. sections:プラグインページのタブ内容
  10. tags:タグ
  11. tested:テストされているWordPressのバージョン

3:hot_tagsのrequest

hot_tagsはTagsのデータを取ってきている様子です。

rewuestで送信するのは「number」というプロパティのみで、これは取得するタグの数を設定するものです。

使いまわせそうな形に整形してみる

せっかくなのでそれぞれ実際に取得するコードにしてみました。

requestの値を調整すれば、自分が作ったプラグインのデータだけを引っ張りだすことも可能です。

スクリーンショット_032615_080731_AM

何に使う?

APIを組み合わせれば、プラグインの検索サービスとか作れそうな予感です。

もしくはRなどに放り込んでWordPressプラグインに関する統計データを調べてみるのも面白いかもです。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts