WordPressにXML-RPCとPHPをつかって記事を自動投稿する方法
最初の頃に取り組んだのは、
ネットからデータをごにょごにょして、取得して(そのうち書きますね)
WordPressへの自動投稿ってのをやり始めました。
The Incutio XML-RPC Library for PHPをインストールします。
他にもいろんなライブラリがあるんですが、これ
「IXR_Library.php」1つのファイルをインクルードするだけで済むので、一番お手軽です。
ここの、The Incutio XML-RPC Library for PHP
Download the Library
ってとこからファイルを落としてください。
次に、投稿するために、必要な情報は、
投稿先のWordPressの
・アドレス
・ユーザ名
・パスワード
・ブログID(基本「1」です、マルチサイト化してる場合は、変わります。)
require_once "IXR_Library.php"; //hogehoge.com は投稿先のWordPressのアドレスにかえる $client = new IXR_Client("http://hogehoge.com/wp/xmlrpc.php"); $status = $client->query( "wp.newPost", //使うAPIを指定 1, // blog ID: 通常は1、 $user, // ユーザー名 $pass, // パスワード array( 'post_author' => $user, // 投稿者ID 未設定の場合投稿者名なしになる。 'post_status' => 'publish', // 投稿状態(draftにすると下書きにできる) 'post_title' => "記事のタイトル", // タイトル 'post_content' => "記事の本文", // 本文 'post_excerpt' => "記事の抜粋", //抜粋、入らなければ削除 'terms_names' => array( 'category' => "カテゴリー" ) // 複数のカテゴリにしたければ、配列の要素追加 ) );
これで、WordPressへの記事投稿が可能になります。
記事本文をいれている、配列に要素を足すと、
・予約投稿ができたり
・アイキャッチの画像が追加できたりします。
ここの、XML-RPC WordPress API/Posts « WordPress Codex
Parameters にその辺りの要素が書いています。
これもそのうち詳しく書こうかな。
2015/12/6 追記
mrm2.hatenablog.com
投稿したあとの、エラー制御について、ちょっと追加しました。