やったこと

webサービスを作るときに考えたことを垂れ流します

ワードプレスのXML-RPCによる外部投稿で「抜粋」フィールドをセットする方法

XML-RPC」というプロトコルを使うと、WordPressに記事を外部から投稿することができる。

WordPressのディレクトリ直下に「xmlrpc.php」というのがあるけど、ここにメッセージを送ると記事を遠隔投稿できるんだ。

以下はPHPを使った自動投稿処理のコードだよ。ライブラリは「IXR_Library.php」というのを使ってる。

require_once '../php-ixr/IXR_Library.php';

//ワードプレスURLをセット
$client = new IXR_Client('http://hogege.com/xmlrpc.php'); 

//投稿パラメータセット
$post_type = "wp.newPost";        //投稿タイプ:新規投稿
$blog_id = 1;                     //blog ID: 通常は1
$user_name = "user_hogege";       //ユーザー名
$password = "pass_hogege";        //パスワード
$post_author = 1;                 //投稿者ID
$post_date = new IXR_Date(time() + 3600); //公開時間:今から3600秒後
$post_status = "future";          //投稿状態(future:公開予定 publish:公開済み)
$post_title = "タイトルタイトル"; //記事タイトル
$post_content = "本文本文";       //記事本文
$post_excerpt = "抜粋抜粋";       //抜粋
$tag = array("タグ1", "タグ2", "タグ3");      //タグ
$category = array("カテ1", "カテ2", "カテ3"); //カテゴリ

//投稿
$status = $client->query(
  $post_type, $blog_id, $user_name, $password,
  array(
    'post_author' => $post_author,
    'post_date' => $post_date,
    'post_status' => $post_status,
    'post_title' => $post_title,
    'post_content' => $post_content,
    'post_excerpt' => $post_excerpt,
    'terms_names' => array('category' => $category, 'post_tag' => $tag)
  )
);

if(!$status){
  //エラー!
  echo $client->getErrorMessage();
  return false;
}else {
  //成功!
  $post_id = $client->getResponse(); //記事IDをゲット
}

return true;

「抜粋」のフィールドは「post_excerpt」によってセットするんだね。
これが分からなくてちょっと調べてしまったよ・・。