Menu


WordPress カスタム投稿でCSV一括アップロードする(複数カスタムフィールド対応)

2022年07月15日
2024年1月24日

カスタム投稿タイプを導入する際、カスタム投稿タイプに複数のカスタムフィールドを導入している場合がありますが、CSVで一括アップロードできると便利だなと思うことがあります。

そのような時は WordPressプラグイン「Really Simple CSV Importer」が役立つのですが、最終更新日が7年前(検証済み最新バージョンが4.3.28)となっておりアップデートがなされていない状況。

さすがに7年も前のプラグインだとちょっと…と抵抗がありますが、、、💦

それでも情報としてはまだまだ活用されている印象を受けましたので、2022年7月にReally Simple CSV Importerを利用してカスタム投稿タイプに記事を一括でアップロードしてみることにしました。

WordPress 6.0.1 と Really Simple CSV Importer 1.3を利用して検証しています。アップロードを行うにはバックアップを行ってから作業されることをおすすめします。

Really Simple CSV Importerのインストールと有効化

カスタム投稿タイプをCSVでアップロードを行うために WordPressプラグイン「Really Simple CSV Importer」をインストールします。

新規プラグイン追加の画面で「Really Simple CSV Importer」と検索し、検索結果に出てきたReally Simple CSV Importerに間違いがないか確認して「今すぐインストール」ボタンを押下します。

Really Simple CSVのインストール
Really Simple CSVのインストール

インストール作業が終わるまで画面を移動しないように待機します。インストール完了後、「今すぐインストール」が「有効化」のボタンに変わりますので「有効化」ボタンに変わったら有効化します。

Really Simple CSVの有効化
Really Simple CSVの有効化

有効化が完了したら、WordPressのメニュー > ツール > インポートを押下します。

WordPress ツール > インポート
WordPress ツール > インポート

インポート画面が開きますので、CSVインポーターの実行のリンクテキストを押下します。

WordPress インポート画面のCSV
WordPress インポート画面のCSV

するとCSVインポート画面が開き説明が記載されています。

WordPress CSVをインポート画面
CSVをインポート画面

アップロードするCSV (.csv) ファイルを選択し、「ファイルをアップロードしてインポート」をクリックすると一括でカスタム投稿を登録することができますが、CSVファイルの準備ができていませんのでCSVを作成します。CSVインポート画面にはサンプルのCSVもありますのでサンプルデータを使うのも良いと思います。

ちなみにUTF-8の文字コードとなりますので、エクセルで編集した場合は書き出しの際にUTF-8にて書き出す(または変換する)など一手間が必要となります。LibreOffice(ods)を推奨していますが、今回はGoogleスプレッドシートにて作成してCSVに書き出してみるようにします。

広告

CSVを準備する

カスタム投稿タイプに記事を一括で登録するためのCSVファイルが必要となります。今回はGoogleスプレッドシートを活用しています。

一行目のカラム(列)には、post_id(投稿ID)・post_name(URLスラッグ)など、WordPressで決まっている文字列を記載します。

今回用意するCSVのイメージ
post_id投稿ID
post_nameURLスラッグ
post_author投稿者ID
post_date記事の日付
post_type投稿タイプ
post_status投稿のステータス
post_title投稿のタイトル
post_content投稿の本文
{custom_field_key}カスタムフィールド
tax_{taxonomy}カスタムタクソノミー

post_id

post_idには投稿のIDを入力します。新規投稿の場合は未入力(空)にします。post_idを入力した場合は上書きされます。

(入力例)1200

post_name

post_nameには投稿の投稿のURLスラッグを入力します。パーマリンクの設定によってはpost_nameに入力したスラッグがURLに利用されます。

post_date

post_dateには記事の日付を入力します。一般的な日付の書式(YYYY/MM/DD HH:mm:ssのような書式)となります。

(入力例)2022/07/15 00:00:00

post_type

post_typeには投稿タイプを入力します。通常の記事であれば「post」を指定しますが、今回の記事ではカスタム投稿タイプ「cat」を入力しています。

(入力例)cat

post_status

post_statusには投稿ステータスを入力します。公開するにはpublishを指定しますが、下書きや非公開などその他の投稿ステータスにすることも可能です(以下に投稿ステータスの一例を記載します)。

  • 公開:publish
  • 予約投稿:future
  • 下書き:draft
  • 承認待ち:pending
  • 非公開:private
  • ゴミ箱 :trash

post_title

post_titleには投稿のタイトルを入力します。WordPressの記事のタイトルになる部分です。

post_content

post_contentには投稿の本文を入力します。通常の投稿「post」の場合は本文を入力して利用しますが、今回はカスタム投稿にカスタムフィールドを追加して展開している想定のためpost_contentはCSVデータに入力していません。

{custom_field_key} (カスタムフィールド)

今回のCSVの例で言いますと、cat_age(猫の年齢)・cat_sex(猫の性別)というカスタムフィールドを想定。

カスタム投稿で複数のカスタムフィールドを導入されている場合も多いと思いますが、複数のカスタムフィールドを入力するにはCSVにカスタムフィールドの分、列を追加します。

tax_{taxonomy} (カスタムタクソノミー)

tax_{taxonomy}にはカスタムタクソノミーを入力します。カスタムタクソノミーはカスタム投稿で作ったカテゴリーや他タグとなりますが、今回の例では「tax_cat_genre」(猫のジャンル)ということで「マンチカン」や「エキゾチックショートヘア」というカスタム分類(カテゴリー)を入力しています。

今回紹介するCSVカラム(列)は以上ですが、この他にもアイキャッチ画像のカラムは「post_thumbnail」などと決まっています。詳しくはWordPressプラグイン「Really Simple CSV Importer」をご確認ください。

「猫」というカスタム投稿にcat_genreというカテゴリーはすでに登録済みであることを前提としてお話を進めますが、CSVは以下のように作成してみました。

今回用意するCSVのイメージ

CSVが出来上がった段階で、Googleスプレッドシートのファイル > ダウンロード > カンマ区切り形式(.csv)を選択してCSVファイルをダウンロードします。

保存されたCSVファイルをアップロードすることでカスタム投稿に実際に登録されるか確認してみます。

広告

CSVファイルをインポートする

WordPressのメニュー > ツール > インポート画面を開き、書き出したCSVを選択しファイルをアップロードしてインポートボタンを押下します。

CSVファイルを選んでアップロードしてインポート
CSVファイルを選んでアップロードしてインポート

無事にCSVインポートができたとの旨のメッセージが表示されました。

今回は2行のみ用意しましたので一瞬でインポート作業が完了しました。

カスタム投稿の一覧ページを確認してみると、以下の通り記事が登録されています。

Really Simple CSV Importerでカスタム投稿が一括で登録された図
Really Simple CSV Importerでカスタム投稿が一括で登録された!

カスタム投稿の中身を確認してみると、post_name(スラッグ)・post_title(タイトル)・cat_age(年齢)・cat_sex(性別)・tax_cat_genre(カテゴリー)の内容がしっかりと反映されています。

また、空白としてアップロードしたpost_dateはCSVがアップロードされた時刻として登録されていることがわかります(post_idも同様に新しいIDが付与されています)。

Really Simple CSV Importerでアップロードされた投稿を確認してみる

以上のようにWordPressプラグイン「Really Simple CSV Importer」を試してみましたが、カスタム投稿に複数のカスタムフィールドがある場合でも無事に新規投稿を行うことができました。

今回は2つのカスタムフィールドを利用してカスタム投稿に対してCSVファイルをアップロードしてみましたが、私は他のブログでカスタムフィールド10個以上で運用しているものでも無事にアップロードを確認しています。

カスタム投稿とカスタムフィールドの扱いによってブログやWebサイトを運用しやすくなりますが、CSVアップロードのやり方を覚えておくとさらに時短が期待できます。

今回の記事ではカスタム投稿でCSV一括アップロードする方法について記載してきましたが、カスタム投稿でCSV一括ダウンロードする方法についても記載しました。合わせて活用する事でさらに時短できるかもしれません。

カスタム投稿タイプのアップロード・ダウンロードの参考になりましたら幸いです。

広告