Notes: WordPress XML-RPC API

この記事では特に、WordPress 2.2 で 追加された、WordPress 独自の XML-RPC API の情報を掲載しています。

WordPress が対応している他の XML-RPC API や、名前などを見れば容易に推察できるであろう部分に関しては、負担となりますので、説明を省略しています。WordPress の XML-RPC API は、基本的に Movable Type と互換性があります。Movable Type のマニュアル や、Tsurupone さんによる解説ページ も参照してください。

また、内容の正確性については保証できません。もし間違いなどありましたら、この記事のコメント欄などからご報告いただければ、ありがたく思います。

メソッドの一覧

メソッドの詳細

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_structarray または 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) contentpage struct, (boolean) publish
返り値
String page_id または fault

wp.getPageList

機能
page_id などの情報を含む、すべての WordPress ページの簡易リストを取得する
パラメータ
(String) blog_id, (String) username, (String) password
返り値
struct short_page_infoarray または fault

wp.getAuthors

機能
WordPress システムに登録されているユーザーのリストを取得する
パラメータ
(String) blog_id, (String) username, (String) password
返り値
struct author_infoarray または 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_infoarrayまたは 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

Leave a Reply

Your email address will not be published. Required fields are marked *