WordPressにXML-RPCとPHPをつかって記事を自動投稿する方法(2)
これの続き、
で、記事を投稿するところまでは、これでいいんだけど、投稿した後に、
if(!$status){ //投稿失敗時に、エラーメッセージ・コードを出力 echo $client->getErrorCode().' : '.$client->getErrorMessage() . "]\n"; } else { $postid = $client->getResponse(); //戻り値は投稿ID }
こうやってあげると、エラチェックができる。
投稿成功時には、postidが戻ってくるので
それをつかって、さらになんかやるとかできる。
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
投稿したあとの、エラー制御について、ちょっと追加しました。
ブログ始めます。
インターネットって便利ですね。
システム屋さんなんですけど、とあることからアフィリエイトを始めました。
まーもともとシステム系の知識はあるので、ある程度はなんとかなるんですが、
どーしても詰まるところがあったりします。
そんな時は「ググる」結構簡単に解決する記事が見つかるんですよね。
見つけてばかりもなんなので、
見つけられるようなこと書いていこうかなとふと思い、
今更なんですが、今日から「ブログ始めます。」
システム屋さんなんで、当然プログラム(PHPがメインです)を
ちょこちょこ利用して、アフィリやってます。
WordPressをごにょごにょやったり
その中で、困ったこと、解決したこと、応用したこと
なんかを書いて、誰かに発見されたいなーと
あと、自分どうにもならない時は、ツール買ってみたりとかもしてるんで、
その辺も、システム屋さん目線で感想なんかかいていこうかなと。
続きは明日^^