勉強したことのメモ

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

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

   2024/02/20  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_typepost(記事) / page(固定ページ)
post_categoryカテゴリ

スラッグをカンマ区切り

post_tagsタグ

スラッグをカンマ区切り

 

注意点

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

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

 - WordPress CMS

  関連記事

WordPressでカスタムフィールドとCSVファイル投稿する方法

WordPressでカスタムフィールド設定している環境に、CSVファイルアップロ ...