xmlrpc.php経由で「mt.setPostCategories」により投稿済みpostのカテゴリを変更/登録しようとすると、カテゴリIDが1桁の場合は正常動作しますが、2桁以上の場合には先頭の数字1桁しか認識されず、誤動作を起こします。
PEARのXML/RPCを使用しているとして、下記のPHPコードを実行してもカテゴリID「23」を設定できません。
$client = new XML_RPC_client('/path/to/xmlrpc.php', 'wp_host'); // path, host
$postId = new XML_RPC_Value(5, 'int'); // wp post id
$username = new XML_RPC_Value('wp_user', 'string'); // wp user
$passwd = new XML_RPC_Value('wp_password', 'string'); // wp password
$cat_item = array(
new XML_RPC_Value(2, 'int'),
new XML_RPC_Value(23, 'int')
);
$categories = new XML_RPC_Value($cat_item, 'struct');
$message = new XML_RPC_Message('mt.setPostCategories', array($postId, $username, $passwd, $categories));
$response = $client->send($message);
xmlrpc.phpの2327行(foreachループ内)を変更してみたところ、わたしの環境ではうまくいっているようです。
旧:$catids[] = $cat['categoryId'];
新:$catids[] = $cat;
検証及び対応をお願いいたします。`