ミギムキ

[WordPress] Really Simple CSV Importerでハマったエラーまとめ

WP_Postオブジェクトがセットされていません

正しくインポートできる最小構成のサンプル

"post_type","post_status","post_title" "post","publish","テスト "

「データベースに投稿を追加できませんでした WP_Postオブジェクトがセットされていません。」と表示される

「"publish" は不正な投稿タイプです。」と表示される

"post_title","post_type","post_status" "テスト","post","publish"

post_typeを指定しているのに「注: 可能な場合 post_type 値を記載してください。」という警告が出て、指定したpost_typeではなく「投稿」にインポートされてしまう

エラーなしで完了したがデータがインポートされていない

"post_type","post_status","post_title" "post","publish","テスト" "post_type","post_status","post_title" "post","publish","テスト"

インポートしたデータがずれてしまう

文字列データを「""」で囲んでいない

post_type,post_status,post_title post,publish,テスト
  • 「""」なしでもそこそこインポートできてしまう(全角文字がなければ行ける?)ので、ハマるとなかなか気が付きにくいです

データに「"」が入っている

"post_type","post_status","post_title" "post","publish","テスト"テスト"
  • 「"」はデータの区切りを表すため、データの中に混在しているとずれの要因になります
  • 「"」の前に「¥」を入れてエスケープすることで対処できます
  • ちなみに「,」は混在していても問題ありませんでした
"post_type","post_status","post_title" "post","publish","テスト¥"テスト"

全角文字でデータが終わる場合は半角スペースを入れる

"post_type","post_status","post_title" "post","publish","テスト"
  • データの終わりが全角文字だと、データの区切りがうまく処理されないようです(上記サンプルの「テス"ト"」)
  • 全角文字が含まれていてもデータの終わりが半角文字なら問題ありません
  • 対策として、全角文字が含まれる(可能性のあるデータ)には末尾に半角スペースを入れます
"post_type","post_status","post_title" "post","publish","テスト "

複数のカテゴリーをインポートする

"post_type","post_status","post_title","post_category" "post","publish","テスト ","cat_xxx,cat_yyy"

複数のタクソノミー(ターム)をインポートする

"post_type","post_status","post_title","tax_sample" "product","publish","テスト ","ts_xxx,ts_yyy"

Excelでデータを作る場合のポイント

="""" & A1 & """" ="""" & A1 & " """

ご質問など受け付けています

記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。

ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。