WordPressサイト内で使用されるインポート/キャッシュスクリプトの作成に問題があります。このフィードは単一のテキストファイルから取得され、それが解析されて配列として返されます。
フィードから各項目を実行するときに、wp_insert_post関数を使用してデータを追加します(下記参照)。
$ post = array( 'post_title' => $ property ['DISPLAY_ADDRESS']、 'post_name' => sanitize_title($ property ['DISPLAY_ADDRESS']。 " - "。$ property [ 'AGENT_REF'])、 'post_content' => $ content、 'post_status' => 'publish'、 'post_type' => 'property'、 。] 'page_template' => 'page-property.php' ); $ post_id = wp_insert_post($ post、true);
エラーを捕捉するために$ post_idを出力すると、以下のようになります。
WP_Errorオブジェクト ( [errors] => Array ( [db_update_error] => Array ( [0] =>データベース内の投稿を更新できませんでした。 ) ) [error_data] =>配列 ([。 ____。)) )
私は$ content変数の中にある実際のテキストを取り、それをそのまま 'post_content'オプションに追加しようと試みました、そしてそれはうまく働きます。私のテキストと$ contentとして渡されている間のどこかに問題があります。私は 'post_content_filtered'オプションを使っても試しましたが、それは違いを生みませんでした。
誰かが以前にこの問題を抱えていたか、またはなぜこのエラーが引き起こされるのか知っていますか? 'post_content'フィールドがなければ問題なく動作します。
$ content変数はフィードからのテキストを含みます。クライアントのためにいくつかのデータを空白にして以下に示します。以下は、データを表示するために出力された$ postの例です。
Array ( [post_title] =>投稿例のタイトル [post_name] => example-post-name [post_content] => ***£303.33 pcm *** 7月1日発売 家賃にはすべての公共料金が含まれています自家製の簡易キッチンと共用バスルームが備わる自炊式の部屋です。 [post_status] =>公開 [post_type] =>プロパティ [page_template] => page-property.php [post_content_filtered] => )
今日、私はインポートしたデータをWordPressに挿入しようとしていました。データを挿入するのにwp_insert_postを使用していましたが、次のエラーが発生しました。
WP_Error Object (
[errors] => Array
(
[db_update_error] => Array
(
[0] => Could not update post in the database
)
)
[error_data] => Array
(
)
)
私の友人は私が非UTF-8でエンコードされたデータを挿入しようとしていて、WordPressが内部的にUTF8を使っていると私に言った。
$post_info['post_content'] = iconv('ISO-8859-1','UTF-8', $post_info['post_content']);