Wordpress XML-RPCを使用してブログに自動的に投稿しており、PHPから次の2つの関数wp.newPostとwp.uploadFileを機能させています。
ただし、以下に示すように1つのphpスクリプトで実行すると、(重要な部分が含まれているだけです)attachment_idが存在していても、投稿しようとするとWordpressがwp.uploadFileからattachment_idを検出しません。
//wp.newPost content
$content = array(
'post_title' => $title,
'post_content' => $body,
'post_status' => 'publish',
'post_type' => 'products',
'post_thumbnail' = // wp.uploadFile is called here that returns attachement id
);
$this->Curl->post($url,$content);
上記のコードを実行しようとすると、「faultCode404faultString無効な添付ファイルID」が表示されます。
wp.uploadFileイメージが正常にアップロードされ、Wordpressライブラリに表示されていることを確認しました。実際、スクリプトを再度実行し、「post_thumbnail」の値をwp.uploadFileによって返されたものとまったく同じattachment_idに置き換えると、機能します。
したがって、上記のように2つの関数を組み合わせて実行した場合、Wordpressは画像がアップロードされたことを検出していないようです。これに対する解決策はありますか?Wordpressの添付ファイルIDを自分のデータベースに保存するのは本当に嫌です。