〜暮らしの落書き帳〜

Daily Picks CSV Export — 書き出して、壊さずに戻す

Daily Picks CSV Export

WordPress の記事をまとめて書き換える方法は、ひとつしかありません。CSVに書き出して、Excel で直して、読み戻すことです。

そして、戻したときに静かに壊れるものがあります。

何が壊れるのか

コードブロックのバックスラッシュが消えます。
Windows のパスのような文字列を含む記事を往復させると、バックスラッシュが1段消えます。警告は出ません。

ブロックエディタの本文が崩れます。
ブロックエディタは属性の中でユニコードのエスケープ表記を使っています。これが壊れると、ブロックが丸ごと壊れます。 特殊な記事ではなく、ブロックエディタで書いた記事の大半が対象です。

公開日を直すと、RSS と API だけが古い日付を配信し続けます。
管理画面の表示は新しい日付に変わるのに、post_date_gmt が古いまま残るためです。読者とフィードを拾っている外部サービスに、直接出ます。

Daily Picks CSV Export: the export screen in WordPress (Tools > Daily Picks 記事CSV書き出し)” width=”930″ height=”717″ class=”wp-image-5994″ /></figure>
<h3 class=このプラグインがすること

書き出したものを Really Simple CSV Importer で読み戻すと、元のまま戻ります。

実際のサイトで測った結果です。

  • 467件を点検して、もともとのずれは0件
  • Windows のパスが17個入った記事が、往復後にバイト単位で同一
  • 公開日を1分ずらすと GMT のずれが再現し、補正後は管理画面・REST API・RSS の3か所すべてが正しい日時に

読み込む前に、壊れているものを止めます

CSVを読むだけで(保存も読み込みもせずに)、次を検出します。

  • 列がずれ始める行
  • 末尾のバックスラッシュが奇数個になっているセル
  • Shift_JIS で保存されたファイル
  • カスタムフィールドになってしまう列
  • 存在しない記事ID
  • ID列が無い場合(全行が新規作成になることを事前に警告します)

無料版と有料版

無料版は WordPress.org で配布しています。 本体の列(タイトル・本文・抜粋・公開日・スラッグなど)の往復と、読み込む前の点検が入っています。

有料アドオン ¥2,980 は、カスタムフィールドとタクソノミーの往復です。

ここにも、知られていない壊れ方があります。

郵便番号の先頭のゼロが消えます。
カスタムフィールドに 00123 と入っていると、Excel で開いて保存するだけで 123 になります。 郵便番号、電話番号、商品コード。警告は出ません。
そして CSVファイルだけを見ても、元が 00123 だったのか 123 だったのかは分かりません。 このアドオンはデータベースの値と比べて検出します。

配列が文字列に化けます。
カスタムフィールドの配列は、読み戻すと「配列の形をした文字列」になります。編集していなくても、です。 プラグイン側には配列の代わりに文字列が渡されます。エラーは出ません。

空のセルが値を消します。
本体の列と違い、カスタムフィールドは空のセルで上書きされます。

有料アドオンはこの3つを全部ふさぎます。値を消したいときは削除の印を書き、消える対象は読み込む前に全部表示されます。

買い切りです。期限はありません。

有料アドオンを購入する →

タイトルとURLをコピーしました