WP Manifestindependent plugin directory
manifest / content / simple-csv-post-importer

Simple CSV Post Importer

WordPress plugin to bulk import posts from CSV files with support for custom post types, taxonomies, custom fields, and featured images.

by Peaks Marketing · github.com/peaksmarketing/simple-csv-post-importer · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/peaksmarketing/simple-csv-post-importer/archive/refs/heads/main.zip

WordPressにCSVファイルから投稿を一括インポートできる、シンプルで汎用的なプラグインです。

任意の投稿タイプ・タクソノミー・カスタムフィールド・アイキャッチ画像URLに対応しており、ブログ記事の一括投入、旧サイトからの記事移行、定型コンテンツの量産などに活用できます。

特徴

  • 任意の投稿タイプ対応postpage、カスタム投稿タイプすべてOK
  • タクソノミー対応 — カテゴリー、タグ、カスタムタクソノミーに対応
  • カスタムフィールド対応 — 任意のメタキーをCSVで指定可能
  • アイキャッチ画像URL対応 — URLからメディアライブラリへ自動取り込み
  • 予約投稿対応post_status=futurepost_dateで日時指定
  • 文字コード自動判別 — UTF-8(BOM付き)、Shift-JIS、EUC-JPに対応
  • エラーハンドリング — 失敗した行を行番号付きで表示
  • シンプル設計 — 1ファイルのみ、依存ライブラリなし
  • サンプルCSV同梱 — すぐに試せる5種類のサンプル付き

動作環境

  • WordPress 5.0 以上
  • PHP 7.4 以上
  • 管理者権限(manage_options)を持つユーザー

インストール

方法1: ZIPファイルからインストール(推奨)

  1. このリポジトリのReleasesページから最新版の simple-csv-post-importer.zip をダウンロード
  2. WordPress管理画面にログイン
  3. 「プラグイン」→「新規追加」→「プラグインのアップロード」
  4. ダウンロードしたZIPファイルを選択して「今すぐインストール」
  5. 「プラグインを有効化」をクリック

方法2: 手動アップロード

  1. ZIPファイルを解凍
  2. simple-csv-post-importer フォルダごと wp-content/plugins/ ディレクトリにアップロード
  3. WordPress管理画面の「プラグイン」ページで有効化

使い方

1. プラグインを有効化

WordPress管理画面の「ツール」→「CSV Post Importer」からアクセスできます。

2. CSVファイルを準備

以下のフォーマットでCSVファイルを作成します。1行目はヘッダー行、2行目以降にデータを記述します。

post_type,post_title,post_name,post_status,post_date,post_content,tax_category,featured_image_url
post,初めての投稿,first-post,publish,2026-04-08 10:00:00,これは本文です。,news|update,https://example.com/image1.jpg
post,2件目の投稿,second-post,draft,,下書きの本文です。,news,

すぐに試せるサンプルCSVが samples/ フォルダに5種類同梱されています。詳しくは「サンプルCSV」のセクションをご覧ください。

3. 管理画面からアップロード

「ツール」→「CSV Post Importer」のページでCSVファイルを選択し、「インポート実行」ボタンを押すだけです。

実行後、成功・失敗件数とエラー詳細(行番号付き)が表示されます。

CSVフォーマット仕様

基本列

列名 必須 説明
post_type 投稿タイプ(省略時はpost) post / page / カスタム投稿タイプ
post_title タイトル 記事のタイトル
post_name スラッグ my-article-slug
post_status 公開ステータス(省略時はdraft) publish / draft / future / private
post_date 公開日時 2026-04-08 10:00:00
post_excerpt 抜粋 記事の抜粋テキスト
post_content 本文(HTML可) <p>本文</p>
featured_image_url アイキャッチ画像URL https://example.com/image.jpg

タクソノミー列(tax_プレフィックス)

列名に tax_ プレフィックスを付けることで、任意のタクソノミーのタームを設定できます。複数のタームはパイプ「|」で区切ります。

列名 対応するタクソノミー
tax_category カテゴリー
tax_post_tag タグ
tax_my_taxonomy カスタムタクソノミー「my_taxonomy」

例: news|update → 2つのタームを設定

⚠️ ターム指定はスラッグでもターム名でも動作します(WordPressのwp_set_object_termsの仕様に準拠)。

カスタムフィールド列(meta_プレフィックス)

列名に meta_ プレフィックスを付けることで、任意のカスタムフィールド(post meta)を設定できます。

列名 対応するメタキー
meta_subtitle subtitle
meta_author_name author_name
meta_price price

サンプルCSV

samples/ フォルダに5種類のサンプルCSVが同梱されています。プラグインのインストール後、これらのファイルをそのままアップロードすることで動作確認ができます。

ファイル名 内容
sample-1-basic.csv 基本的な3記事の一括投稿(最もシンプルな例)
sample-2-scheduled.csv 7件の連続予約投稿(1日1記事ずつ自動公開)
sample-3-custom-post-type.csv カスタム投稿タイプ「product」+ カスタムフィールド + タクソノミー
sample-4-featured-image.csv アイキャッチ画像URLからの自動取り込み
sample-5-all-features.csv 全機能を盛り込んだ総合サンプル(12列)

サンプル1: 通常のブログ記事を一括投稿

post_type,post_title,post_name,post_status,post_content,tax_category
post,初めての記事,first-article,publish,これは1つ目の記事の本文です。,news
post,2つ目の記事,second-article,publish,これは2つ目の記事の本文です。,news|update
post,3つ目の記事,third-article,draft,これは下書きの記事です。,update

サンプル2: 予約投稿(1日1記事ずつ自動公開)

post_type,post_title,post_name,post_status,post_date,post_content
post,第1話 出会い,episode-01,future,2026-04-08 10:00:00,第1話の本文です。
post,第2話 別れ,episode-02,future,2026-04-09 10:00:00,第2話の本文です。
post,第3話 再会,episode-03,future,2026-04-10 10:00:00,第3話の本文です。

サンプル3: カスタム投稿タイプ + カスタムフィールド

post_type,post_title,post_status,meta_price,meta_stock,tax_product_category
product,オリジナルマグカップ,publish,1980,在庫あり,キッチン用品
product,ステンレスタンブラー,publish,2980,在庫あり,キッチン用品
product,木製まな板,publish,4980,予約販売,キッチン用品

⚠️ サンプル3を使う場合は、事前にWordPressで product という投稿タイプと product_category というタクソノミーが登録されている必要があります。

よくある質問

Q. インポート可能な件数の上限はありますか?

プラグイン自体には上限はありませんが、PHP設定の max_execution_time(実行時間上限)、upload_max_filesize(アップロードサイズ上限)、post_max_size(POSTサイズ上限)、memory_limit(メモリ上限)の影響を受けます。

数百件以上を一括処理する場合は、サーバーの設定変更や、CSVファイルの分割を推奨します。

Q. アイキャッチ画像のURLが無効だった場合はどうなりますか?

投稿自体は作成されますが、アイキャッチ画像の設定はスキップされ、エラー詳細にその行が記録されます。

Q. Shift-JISのCSVも使えますか?

はい、対応しています。プラグインが自動で文字コードを判別してUTF-8に変換します。Excelで作成したCSVをそのまま使うことも可能です(推奨はBOM付きUTF-8)。

Q. 既存の投稿を更新できますか?

現バージョンでは新規投稿のみ対応しています。更新機能は将来のバージョンで検討中です。

Q. インポート失敗時に作成された投稿はロールバックされますか?

いいえ、行ごとに独立して処理されるため、途中でエラーが発生しても、それまでに成功した投稿は保持されます。エラー後に再実行する場合は、CSVから成功済みの行を削除してください。

Q. WordPress標準の「インポート」機能との違いは?

WordPress標準の「インポート」は、WordPressのエクスポート形式(WXR)に対応していますが、CSVには対応していません。本プラグインはCSVに特化しており、Excelで作成したデータをそのまま使えるのが大きな違いです。

変更履歴

v1.0.1

  • サンプルCSVを5種類同梱(samples/ フォルダ)
  • READMEにサンプルCSV解説を追加
  • インストール時の利便性向上(正しい構造のZIP配布)

v1.0.0

  • 初回リリース
  • 任意の投稿タイプ・タクソノミー・カスタムフィールド対応
  • アイキャッチ画像URL自動取り込み
  • 予約投稿対応
  • UTF-8/Shift-JIS自動判別

ライセンス

GPL v2 or later

作者

Peaks Marketing

不具合報告・要望

Issuesからお願いします。

Releases

1 release.

Tag
Published
v1.0.0 latest
Apr 8, 2026 5mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.