最初の投稿です。
このところはまっていたのがこれ。
ネットで調べるとpearのXML-RPCにて行うのが普通らしい。さっぱりわからないが。WordPressを扱って2年以上経つがphpコードなんぞ全然見てなくて、blogはテーマとプラグインを変えるぐらいだった。最近、ビジネス上でもいろいろやりたいと思うとプログラムをいじらざるを得なくなってきている。まあ、結構これも楽しいのでいいんだがなんせ知識がほぼゼロからスタートなのでネットの世界のスピードには追いつけていない。あ、話がとんだがpearの件。ネット上で検索してそれらしい、コードがたくさん見つかったのだがどうもうまくいかない。契約しているレンタルサーバーが複数あるのですべて試したがどうしても接続が出来ない。pear入ってナインかなと思ってじゃー、まずはローカルからということでxamppを入れた。でもこれもよく使い方がわかんらない。とりあえず、インストールしたが標準ではpearが入ってなくて、インストールしようとしたらエラー。どうもxamppのソフトが壊れているっぽい。ネットのだれかが腐っていると言っていたがまさにそう。しょうがないんで新しいの持ってきてやっとインストール完了。でもやっぱし投稿用のphpが動かない。
-32300:transport error – could not open socketn
どうもソケットがオープンできないと言っているの認証できてないのか、設定が悪いのか。だめかなと半分、思いながらも、悔しいのでいろいろ調べていたら、 Incutio XML-RPC というのがあって、こちらを使ったコードを試してみたら、あっさり投稿ができた。あれ、コードが悪いのかな?。とりあえず、投稿はうまくいったのでOKとするが、日時指定の投稿でまたはまってしまった。2日ほどはまったがまだできてません。とりあえず、投稿はできるのでそのコードを書いとくとこんな感じ。ライブラリーはIncurioやどこかで落としておくこと。ぐぐれば見つかります。
$xml_server = ‘http://hoge.com/xmlrpc.php’;
$method = ‘metaWeblog.newPost’;
$blog_ID = 1;
$user_login = ‘user’;
$user_pass = ‘pass’;
$content_struct['title'] = ‘テスト’;
$content_struct['description'] = ‘<b>テストです。ちゃんと投稿されましたか?<b>’;
$publish = 1;
$args = array($blog_ID, $user_login,
$user_pass, $content_struct,$publish);
include_once(‘./IXR_Library171.php’);
$client = new IXR_Client($xml_server);
$client->query($method, $args);
ネットを検索するとWordPressのxmlrpc自体にエラーがあるという情報もあるんだけど。バージョンがupすればそこも改善されているはずなので。一応修正して試したけど、変化なしなので違うっぽいかもしれない。とりあえず、投稿はできるのでこれでもある程度は使えそう。