この記事では特に、WordPress 2.2 で 追加された、WordPress 独自の XML-RPC API の情報を掲載しています。
WordPress が対応している他の XML-RPC API や、名前などを見れば容易に推察できるであろう部分に関しては、負担となりますので、説明を省略しています。WordPress の XML-RPC API は、基本的に Movable Type と互換性があります。Movable Type のマニュアル や、Tsurupone さんによる解説ページ も参照してください。
また、内容の正確性については保証できません。もし間違いなどありましたら、この記事のコメント欄などからご報告いただければ、ありがたく思います。
メソッドの一覧
wp.getPage
wp.getPages
wp.newPage
wp.deletePage
wp.editPage
wp.getPageList
wp.getAuthors
wp.getCategories
wp.newCategory
wp.suggestCategories
wp.uploadFile
メソッドの詳細
wp.getPage
- 機能
- page_id で指定された WordPress ページを取得する
- パラメータ
(String)
blog_id,(String)
page_id,(String)
username,(String)
password- 返り値
struct
page_struct または fault
wp.getPages
- 機能
- 各 WordPress ページのすべての内容を含んだ完全なリストを取得する
- パラメータ
(String)
blog_id,(String)
username,(String)
password- 返り値
struct
page_struct のarray
または fault
wp.newPage
- 機能
- 新しい WordPress ページを作成し、その page_id を返す。最終的な処理は、拡張された
metaWeblog.newPost
で行われる - パラメータ
(String)
blog_id,(String)
username,(String)
password, (struct
) page → page_struct,(boolean)
publish- 返り値
String
page_id または fault
wp.deletePage
- 機能
- page_id で指定された WordPress ページを削除する
- パラメータ
(String)
blog_id,(String)
username,(String)
password,(String)
page_id- 返り値
true
または fault
wp.editPage
- 機能
- page_id で指定したページの内容を更新する。最終的な処理は、拡張された
metaWeblog.editPost
で行われる - パラメータ
(String)
blog_id,(String)
username,(String)
password,(String)
page_id,(struct)
content → page struct,(boolean)
publish- 返り値
String
page_id または fault
wp.getPageList
- 機能
- page_id などの情報を含む、すべての WordPress ページの簡易リストを取得する
- パラメータ
(String)
blog_id,(String)
username,(String)
password- 返り値
struct
short_page_info のarray
または fault
wp.getAuthors
- 機能
- WordPress システムに登録されているユーザーのリストを取得する
- パラメータ
(String)
blog_id,(String)
username,(String)
password- 返り値
struct
author_info のarray
または fault
wp.getCategories
- 機能
- メソッド
metaWeblog.getCategories
のエイリアス。このメソッドはmt.getCategoryList
と同じように使えるが、返り値に含まれる情報が増えているので、知らない人はチェックすること。
wp.newCategory
- 機能
- 新しいカテゴリーを作成する
- パラメータ
(String)
blog_id,(String)
username,(String)
password,(struct)
category- 返り値
String
categoryid または fault
wp.suggestCategories
- 機能
- category に指定した文字列で始まるカテゴリーのリストを取得。どういうふうに使うんだろう?
- パラメータ
(String)
blog_id,(String)
username,(String)
password,(String)
category,(String)
max_results- 返り値
struct
short_category_info のarray
または fault
wp.uploadFile
- 機能
- メソッド
metaWeblog.newMediaObject
のエイリアス。第4引数のstruct
に「overwrite
」キーを追加できるようだ。設定できる値は、上書きの可否を指定するboolean
。
返り値の構造体の内容
struct
page_struct
wp.getPage
などで返ってくる、記事の内容の構造体。基本的には metaWeblog.getPost
などで返ってくる構造体と同じ。よってここでは、WordPress で拡張された部分しか書かない。
こういったブログシステムの XML-RPC API を扱ったことがある方には説明するまでもないことかもしれないが、逆にこの構造体を作って wp.newPage
などにパラメータとして渡せば、その内容を持った記事を作成できる(Movable Type のマニュアルの metaWeblog.editPost
の説明などには、パラメータとして送ることのできる構造体の内容を懇切丁寧に書いてあるが、少々乱暴だが、受け取ったものは送り返せる、と考えれば楽だ。受け取れない値は無視されるよう設計されているはずだ)。
さらに、wp_newPage
の説明でも少し書いたが、これら WordPress ページを作成するメソッドは、最終的には metaWeblog.newPost
などを呼び出す。つまり MetaWeblog API がこの構造体を受け取れるように拡張されている。もっと簡単に言えば、例えば metaWeblog.newPost
で投稿スラグなどを指定できる、ということだ(はじめからそう言え、と)。
キー | 値のタイプ | 備考 |
---|---|---|
page_status |
String |
"post" または "page" 。恐らく省略した場合は "post" となり、wp.newPage を使えば自動的に "page" が設定される。つまり、通常これを自分で設定する必要はない。 |
excerpt |
String |
「 mt_excerpt 」と同じ。 |
text_more |
String |
「 mt_text_more 」と同じ。 |
wp_slug |
String |
|
wp_password |
String |
記事のパスワード。 |
wp_author |
String |
記事を作成したユーザーの 表示名 。 |
wp_page_parent_id |
String |
|
wp_page_parent_title |
String |
|
wp_page_order |
String |
|
wp_author_id |
String |
|
wp_author_display_name |
String |
「 wp_author 」と同じ。 |
struct
short_page_info
キー | 値のタイプ |
---|---|
page_id |
String |
page_title |
String |
page_parent_id |
String |
dateCreated |
ISO.8601 |
struct
author_info
キー | 値のタイプ | 備考 |
---|---|---|
user_email |
String |
|
meta_value |
String |
謎のデータ。データベース内の位置? |
display_name |
String |
|
user_id |
String |
|
user_login |
String |
ログイン名。 |
struct
short_category_info
型 | ラベル |
---|---|
category_id |
String |
category_name |
String |