Wordpress の XMLRPC API と WP API の IXR_Library php クラスを使用しています。wp.newPost は、投稿の本文/コンテンツにプレーン テキストまたは単純なテキストを使用すると正常に動作しますが、自動作成された完全な html/ショートコード コンテンツを投稿すると、常にこのエラーが発生します
Array ( [faultCode] => -32700 [faultString] => parse error. not well formed )
投稿しようとしているコンテンツは、ショートコードを使用して WP 内で通常使用する投稿コンテンツですが、ブログを自動化しようとしているため、API を使用して php 経由で投稿したいと考えています。
以下に投稿しようとしている本文/コンテンツを確認できます
http://pastebin.com/U94XVZGT
それは XML デバッグ モードで表示されるコンテンツです (おそらく既に html エンコードされているようです)
以下は、デバッグによって返された完全な XML 呼び出しと応答です。そこからユーザー/パスを削除しました
http://pastebin.com/26Nyx97K
私はすでにphpのhtmlentitiesとhtmlspecialchar関数を試して自分の体をエンコードし、str_replaceを試して[]ブラケットを置き換えようとしましたが、それらが原因である可能性があると考えていました
繰り返しますが、Hello World プレーン コンテンツだけを試してみたところ、コンテンツ コードが原因でした。 -------------------------------
更新、以前は $_POST を使用してテキストエリアから HTML コンテンツを取得していました。同じ変数で同じコンテンツを使用しようとしましたが、代わりに ' ' 単一引用符を使用してコンテンツ本文を囲み、作品を投稿しましたが、エラーが発生しました
Warning: strpos(): Empty delimiter in wp-includes/class-wp-xmlrpc-server.php on line 4338
したがって、 $body=$_POST['body']; を使用すると それは機能せず、メインエラーが発生しますが、 $body=' htmlcontent inside '; を直接使用します。動作しますが、上記の strpos エラーが発生します