XML-RPC WordPress API-Categories-
2015年3月30日:WordPress
XML-RPC WordPress APIを使うとHTMLのPOSTによりWordPressと通信をすることができます。ここでは、XML-RPCによりWordPressのカテゴリ情報のやりとりをする方法を紹介します。
wp.getCategories-カテゴリ一覧の取得-
wp.getCategoriesによりカテゴリ一覧を取得します。以下のようにして命令を送ります。
<methodCall> <methodName>wp.getCategories</methodName> <params> <param><value><int>blogid</int></value></param> <param><value><string>username</string></value></param> <param><value><string>password</string></value></param> </params> </methodCall>
ここでの入力パラメタは以下の通りです。
- blogid:ブログID、通常は1です。
- username:ログインID
- password:ログインパスワード
命令に成功すると以下のような情報が返ってきます。
<?xml version="1.0" encoding="UTF-8"?> <methodResponse><params> <param><value> <array><data> <value><struct> <member><name>categoryId</name><value><string>12</string></value></member> <member><name>parentId</name><value><string>0</string></value></member> <member><name>description</name><value><string>カテゴリ1</string></value></member> <member><name>categoryDescription</name><value><string>カテゴリ1の説明</string></value></member> <member><name>categoryName</name><value><string>カテゴリ1</string></value></member> <member><name>htmlUrl</name><value><string>http://localhost/wordpress/category/others/</string></value></member> <member><name>rssUrl</name><value><string>http://localhost/wordpress/category/others/feed/</string></value></member> </struct></value> <value><struct> <member><name>categoryId</name><value><string>3</string></value></member> <member><name>parentId</name><value><string>0</string></value></member> <member><name>description</name><value><string>カテゴリ2</string></value></member> <member><name>categoryDescription</name><value><string>カテゴリ2の説明</string></value></member> <member><name>categoryName</name><value><string>カテゴリ2</string></value></member> <member><name>htmlUrl</name><value><string>http://localhost/wordpress/category/tyuugaku/</string></value></member> <member><name>rssUrl</name><value><string>http://localhost/wordpress/category/tyuugaku/feed/</string></value></member> </struct></value> </data></array> </value></param> </params></methodResponse>
array形式でカテゴリ情報が羅列されます。そして、structにメタフィールド情報が入っています。メタフィールドの意味は以下の通りです。
メタフィールド | データ型 | 意味 |
---|---|---|
categoryId | string | カテゴリID |
parentId | string | 親のカテゴリID。親がないなら0。 |
categoryName | string | カテゴリ名 |
categoryDescription | string | カテゴリの説明文 |
description | string | |
htmlUrl | string | HTMLのURL |
rssUrl | string | RSSのURL |
wp.suggestCategories
カテゴリの中からある文字を含むカテゴリの情報を取得することができます。
<methodCall> <methodName>wp.suggestCategories</methodName> <params> <param><value><int>blogid</int></value></param> <param><value><string>username</string></value></param> <param><value><string>password</string></value></param> <param><value><string>category</string></value></param> <param><value><int>max_results</int></value></param> </params> </methodCall>
入力値の意味は以下の通りです。
- blogid:ブログID、通常は1です。
- username:ログインID
- password:ログインパスワード
- category:カテゴリの頭文字列
- max_results:結果表示の最大数
実行に成功すると以下のような結果が返ってきます。
<?xml version="1.0" encoding="UTF-8"?> <methodResponse><params> <param><value> <array><data> <value><struct> <member><name>category_id</name><value><string>1</string></value></member> <member><name>category_name</name><value><string>カテゴリ1</string></value></member> </struct></value> <value><struct> <member><name>category_id</name><value><string>12</string></value></member> <member><name>category_name</name><value><string>カテゴリ2</string></value></member> </struct></value> </data></array> </value></param> </params></methodResponse>
arrayの中にカテゴリのデータがstruct形式で入ってきます。メタフィールドの意味は以下の通りです。
メタフィールド | データ型 | 意味 |
---|---|---|
category_id | string | カテゴリID |
category_name | string | カテゴリ名 |
wp.newCategory-カテゴリの追加-
wp.newCategoryによりカテゴリを追加します。以下のように命令を送ります。
<methodCall> <methodName>wp.newCategory</methodName> <params> <param><value><int>blogid</int></value></param> <param><value><string>username</string></value></param> <param><value><string>password</string></value></param> <param> <value> <struct> <member><name>name</name><value><string>新規カテゴリ名</string></value></member> <member><name>description</name><value><string>新規のカテゴリです。</string></value></member> <member><name>parent_id</name><value><int>0</int></value></member> <member><name>slug</name><value><string>newcategory</string></value></member> </struct> </value> </param> </params> </methodCall>
入力パラメタの意味は以下の通りです。
- blogid:ブログID、通常は1です。
- username:ログインID
- password:ログインパスワード
最後のstructでは追加するカテゴリの設定をします。メタフィールドの意味は以下の通りです。
メタフィールド | データ型 | 意味 |
---|---|---|
name | string | カテゴリ名 |
description | string | カテゴリの説明文 |
parent_id | int | 親カテゴリID |
slug | string | スラッグ |
成功するとカテゴリID(int)を返します。
wp.deleteCategory-カテゴリの消去-
wp.deleteCategoryによりカテゴリを消去します。命令は以下の通りです。
<methodCall> <methodName>wp.deleteCategory</methodName> <params> <param><value><int>blogid</int></value></param> <param><value><string>username</string></value></param> <param><value><string>password</string></value></param> <param><value><int>category_id</int></value></param> </params> </methodCall>
入力値は以下の通りです。
- blogid:ブログID、通常は1です。
- username:ログインID
- password:ログインパスワード
- category_id:消去するカテゴリのID
成功するとtrueを返します。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー