BTC:--
ETH:--
BCH:--
XRP:--

wordpressカスタムフィールドアップデートができなかった原因

wordpressカスタムフィールドアップデートができなかった原因

新規に取得したポストIDに対して、カスタムフィールドのアップデートをしようとしたが、エラーが発生してできなかった。

てっきり、ループ処理内でDBアップデートしているため、インサートが間に合わずに、ポストIDが取得できず、DBエラーを起こしているのかと思ったら・・・。

$post_id = wp_insert_post( $post, $wp_error );
//ここでエラー発生
update_post_meta($post_id, 'title', $title);
update_post_meta($post_id, 'article_link', $link);

原因は、エスケープ処理・・・。

タイトルにシングルコーテーションが入っていたので、それがアップデートエラーになっており、update_post_metaできなかった。

同じく、URLもエンコード処理が必要でした。

エスケープ処理を追加したら、アップデートが正常に終了。

$post_id = wp_insert_post( $post, $wp_error );
//エスケープ処理を追加したら処理が正常に終了
update_post_meta($post_id, 'title', esc_html($title));
update_post_meta($post_id, 'article_link', esc_url($link));
Close Menu