WEB

記事をCSVで一括登録!WordPressプラグインReally Simple CSV Importer

記事をCSVで一括登録!WordPressプラグインReally Simple CSV Importer

こんにちわ段田です。

ここ最近はジョジョ段田商会のことを書いていたので、
今回は久しぶりにWordPressの記事を書きたいと思います。

WordPressサイト制作時にお客様から「記事をCSVで一括登録したい」という要望があり、その時に使ったプラグインを紹介したいと思います。

CSVの登録でまず思いつくのが、CSV Importerプラグインです。こちらのプラグインはカテゴリ、カスタムフィールドの登録もできて便利です。

普通に使うのには困らないのですが、ある条件でデータを加工したい場合にフィルターが用意されていなかったりで、記事の更新はプラグインをいじらないといけなかったりします。また、2年更新されていないため、今後の更新も望めない状況です。

何か素敵なプラグインはないかとGoogleをさまよっていたら、素敵なプラグイン見つけました。

その名は・・・「Really Simple CSV Importer」!

このプラグインの素晴らしい点

  • フィルターが用意されていて、記事情報、タクソノミー情報、カスタムフィールド情報に対して独自のデータ加工が設定できる。
  • Advanced Custom Fieldsプラグインで作成したカスタムフィールドの指定ができる。
  • 記事の更新ができる
  • ワムウッ!

あ、最後のワムウッ!は無視して下さい。
あまりに素晴らしいプラグインだったため、ワムウッ!と書いてしまっただけです。

Really Simple CSV Importerの導入方法

ではさっそく、ご説明していきます。

インストール

  1. プラグインをダウンロードします
  2. ダウンロードしたらファイルを解凍し、pluginフォルダに設置する。
  3. 管理画面のプラグインページから『Really Simple CSV Importer』を有効化にする。

インストールはこれで完了です。簡単ですね!

  • ダウンロードは「Really Simple CSV Importer」から:
  • 作者様のサイト「notnil creative」はこちら:
  • こちらで説明が記載されていました。

    CSVのインポート手順

    import1

    1.左ナビの「ツール」の「インポート」をクリックします。
    2.右画面の「CSV」をクリックして、登録画面に移動します。

    import2_1

    3.登録に使うCSVを選択
    4.ボタンをクリックしてインポートが始まります。

    おしまい!これだけです。
    非常にシンプルな操作になります。また、登録画面ではサンプルのCSVを取得できるので、こちらを参考にすると良いかと思います。

    CSVファイルのフォーマットについて

    登録に使うCSVですが、文字コードは「UTF-8」でのみ利用が可能です。他の文字コードだと文字化けになる可能性大です。なので、文字コードがShift JISのExcelで利用する場合は、文字コードをUTF-8に変更しておく必要があります。

    1行目はヘッダー行になり、2行目以降に登録したいデータを書いて下さい。ヘッダー行では登録・更新したい項目名を指定します。
    内容は下記をドキュメントを元にまとめましたので、ご参照ください。

    項目名 説明
    ID or post_id 編集したい記事IDを指定。指定しない場合は新規登録扱い。
    post_author 編集者情報を指定。ユーザーID、ユーザー名のいずれかを指定
    post_date 公開日を指定。
    post_content 記事内容を指定。
    post_title 記事タイトルを指定。
    post_excerpt 抜粋を指定。
    post_status 記事のステータスを指定。指定していない場合はdraftになる。
    post_name 記事のスラッグを指定。
    post_parent 親記事を指定。固定ページなどで使用ですな。
    menu_order 記事の順序を指定。
    post_type 投稿タイプを指定。
    post_thumbnail アイキャッチ画像を指定。URLかファイルパスを指定。
    post_category カテゴリスラッグを指定。
    post_tags タグ名を指定。
    {custom_field} カスタムフィールドを指定。カスタムフィールドのキー名を指定すればOK。
    tax_{taxonomy} カスタムタクソノミーを指定。tax_を接頭にしてカスタムタクソノミー名を指定すればOK。

    フィルターについて

    先ほどこのプラグインにフィルターが用意されていると書きましたが、3つのフィルターがあります。ドキュメントに記載のあったサンプルと一緒に紹介します。CSVを単純にインポートするのではなく、データを操作したい場合に活用しましょう。

    記事の情報をゴニョゴニョできるreally_simple_csv_importer_save_post

    function really_simple_csv_importer_save_post_filter( $post, $is_update ) {
    
        // remove specific tag from import data
        if (isset($post['post_tags'])) {
            $_tags = array();
            foreach ($post['post_tags'] as $tag) {
                if ($tag != 'Apple') {
                    $_tags[] = $tag;
                }
            }
            $post['post_tags'] = $_tags;
        }
    
        return $post;
    }
    add_filter( 'really_simple_csv_importer_save_post', 'really_simple_csv_importer_save_post_filter', 10, 2 );
    

    カスタムフィールドをゴニョゴニョできるreally_simple_csv_importer_save_meta

    function really_simple_csv_importer_save_meta_filter( $meta, $post, $is_update ) {
    
        // serialize metadata
        $meta_array = array();
        if (isset($meta['meta_key_1'])) $meta_array[] = $meta['meta_key_1'];
        if (isset($meta['meta_key_2'])) $meta_array[] = $meta['meta_key_2'];
        $meta = array( 'meta_key' => $meta_array );
    
        return $meta;
    }
    add_filter( 'really_simple_csv_importer_save_meta', 'really_simple_csv_importer_save_meta_filter', 10, 3 );
    

    カスタムタクソノミーをゴニョゴニョできるreally_simple_csv_importer_save_tax

    function really_simple_csv_importer_save_tax_filter( $tax, $post, $is_update ) {
    
        // Fix misspelled taxonomy
        if (isset($tax['actors'])) {
            $_actors = array();
            foreach ($tax['actors'] as $actor) {
                if ($actor == 'Johnny Dep') {
                    $actor = 'Johnny Depp';
                }
                $_actors[] = $actor;
            }
            $tax['actors'] = $_actors;
        }
    
        return $tax;
    }
    add_filter( 'really_simple_csv_importer_save_tax', 'really_simple_csv_importer_save_tax_filter', 10, 3 );
    
    

    これで柔軟な対応ができますな!

    まとめ

    紹介は以上になります。個人的にフィルターが用意されているのが良かったです。

    今後、一括登録が必要なときはReally Simple CSV Importerプラグインで決まりですな!

    ではでは~。


    LIGでは、エンジニアを絶賛募集中!
    http://liginc.co.jp/recruit/mid_career

    この記事を書いた人

    段田
    段田 エンジニア兼段田商会店主 2010年入社
    段田です。いつも仕事中は14の言葉を呟いています。らせん階段 カブト虫 廃墟の街 イチジクのタルト カブト虫 ドロローサへの道 カブト虫 特異点 ジョット 天使 紫陽花 カブト虫 特異点 秘密の皇帝...

    こちらもおすすめ

    Web担当者のためのWordPressがわかる本 あらゆるビジネスサイトで使える企画・設計・制作・運用のノウハウ

    Web担当者のためのWordPressがわかる本 あらゆるビジネスサイトで使える企画・設計・制作・運用のノウハウ

    • 著者田中 勇輔
    • 価格¥ 2,570(2015/12/03 16:35時点)
    • 出版日2015/09/16
    • 商品ランキング3,742位
    • 大型本288ページ
    • ISBN-104798142700
    • ISBN-139784798142708
    • 出版社翔泳社