タグ: Reference

  • 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_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