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プラグインに関する統計データを調べてみるのも面白いかもです。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark