勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CSVファイルをアップロードしてWordPressに記事を投稿する方法

   2026/08/05  WordPress CMS

CSVファイルをアップロードすることでWordPressに記事を投稿したかった。何か方法は無いか調べたところ「Really Simple CSV Importer」というWordPressプラグインを使用することで簡単に対応できるみたい。以下に対応方法をメモ。

 

環境

  • WordPressバージョン 5.0.3
  • PHPバージョン 5.5.38

 

プラグインのインストール

WordPressダッシュボード上から「Really Simple CSV Importer」を検索してインストール。もしくは公式ページからダウンロードしてインストールする。

 

アップロードするページ

左側メニューのツール内にあるインポートをクリック。インポートページ内にあるCSV項目の「インポーターの実行」をクリックするとCSVファイルをアップロードするページに遷移する。

尚、アップロードするページへの遷移が分かりづらいので、テーマフォルダ内にあるfunctions.phpに以下を追記し、メニューを追加した。

function admin_menu_add(){
    add_menu_page('CSVインポート', 'CSVインポート', 'manage_options', 'admin.php?import=csv', '', '', 5);
}
add_action('admin_menu', 'admin_menu_add');

 

CSVファイルをアップロード

アップロードページの「サンプルCSVファイルをダウンロード」という部分にサンプル用CSVファイルのリンクがあるので、そちらを参考にCSVファイルを作成する。

必要になりそうな項目は以下の通り。

post_author 投稿者ID
post_title タイトル
post_content 本文
post_date 公開日時
YYYY/MM/DD HH:II:SS形式
post_status ステータス
draft(下書き) / publish(公開) / 公開かつpost_dateが未来の場合は予約投稿
post_type post(記事) / page(固定ページ)
post_category カテゴリ

スラッグをカンマ区切り

post_tags タグ

スラッグをカンマ区切り

 

注意点

アップロードするファイルの文字コードはUTF-8にする。エクセルでファイルを作成するとshift-jsになり、そのままアップロードすると「WP_Postオブジェクトがセットされていません」というエラーが表示され、アップロードできなかった。

エクセル2016の最新だとUTF-8でCSVファイルを保存できるらしいが、それ以外の場合はLibreOfficeのCalcを使うか、テキストエディタ等で開いてUFT-8に変換すると良い。

 - WordPress CMS

  関連記事

PHPで配列データをCSVとしてダウンロードさせる方法
PHPで配列データをCSVとしてダウンロードさせる方法

PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...

MySQLでCSVから列を指定してインポート
MySQLでCSVから列を指定してインポート

MySQLでCSVからデータをインポートしたかった。またエクセル風にいうA列はi ...

LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法
LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法

以前にメモしたPHPのLeagueCSV(thephpleague / csv) ...

PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法
PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法

PHPでCSVファイルの書き込みや読み込みを行う際、バニラPHPで対応していたが ...

PHPで改行を含むデータをCSV化する際に表示崩れを防ぐ方法
PHPで改行を含むデータをCSV化する際に表示崩れを防ぐ方法

PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...