演劇とかの感想文ブログ

演劇感想文リンク(engeki.kansolink.com/)の中の人(清角克由(@kseikaku)のブログ。更新情報やサイト情報だけでなく、管理人の日々の思いも書いていきます。

WordPress

Really Simple CSV Importerで、カンマ付きの項目を取り込む

投稿日:

スポンサーリンク

広告

Really Simple CSV Importerを利用する際に、取り込み項目の中に”,”を含める場合の対応方法を記載します。

Really Simple CSV Importerの、フィルターフックを利用して取り込み時に別の記号で作成したデータを、,(カンマ)に置き換える処理を記載することで実現します

CSVデータの中に”,”を利用する必要が発生!

演劇感想文リンクをWORDPRESS化するにあたり、コンテンツデータの取り込みには、Really Simple CSV Importerを利用します。

通常のコンテンツを取り込むには問題ないのですが、先日記事にしたように、演劇公演データを構造化データとして一緒に取り込もうとすると、困ったことに気づきました。

構造化データ(JSON LD形式)の場合、”,”が多用されており、CSVデータとして取り込むと区切りのカンマとして認識されてしまってデータが、分断されてしまい上手く取り込む事ができないのです。

“”で囲めば良いと思ったのですが、構造化データの中にも””が多用されており、””で囲むだけではうまくいきません。(例えば、タグ(post_tag)などであれば、””で囲むことで、中に”,”があっても上手く取り込むことができます)

フィルターフックを利用して、保存前に,に置き換える

Really Simple CSV Importerには、フィルターフックと言うかたちで、データの取り込み時のいくつかのタイミングで、データに処理を加えることができるようです。公式のページの説明では、イマイチわからなかった(単に理解力の問題ですorz)のですが、とても参考になる記事を見つけました。 「WordPressのReally Simple CSV Importerを使って固定ページをインポートする方法– ウェブタタン」 こちらのページに、まさに取り込み項目について、”,”を含める方法が記載されています。こちらに記載されているコードを参考に以下のようにコードをfunction.phpの末尾に追記しました。

元のコードからは、以下の3点を変更しました。

  1. 対象となる項目を’custom_item’から’post_content’へ。(今回の変換を加えたいところは、記事内容そのものなので)(4,5行目)
  2. フィルターの適用タイミングを「really_simple_csv_importer_save_meta(カスタムフィールド保存前)」から「really_simple_csv_importer_save_post(投稿保存前)」へ。(9行目)
  3. 変換元の記号を”-“から”●”へ。

1,2は、カスタム項目ではなく、元々ある項目(この場合、記事内容にあたるpost_content)にする場合に必要な設定です。

フィルター適用タイミングは、以下の4つがあるようです。

データを作成し、取り込んで見る。

以下のようなテストデータを作成して、取り込んでみます。

 

まずは、上記のコードをfunction.phpに書き込む前に取り込みます。WORDPRESSの「スパナ」のマーク>インポート>CSV インポーターの実行を選び、ファイルととして上記のファイルを取り込みます。
取り込まれたイメージは以下のような感じです。

データ中の●は、●のまま取り込まれています。(当たり前ですが)
以下は、コードをfunction.phpに記述した後に、取り込んだ結果です。

 

●の部分が,に変わっています。とりあえず、無事想定通りに動いたようです。

エラー(Warning)が、出るのが気になる。

実は取り込むと以下のような警告メッセージがでます。
Warning: Missing argument 3 for really_simple_csv_importer_save_meta_filter() in /home/makedorama/kansolink.com/public_html/en/wp-content/themes/stinger8/functions.php on line 525
警告メッセージなので、致命的ではないと思うのですが、ちょっと気持ちわるいです。おいおい調べていこうと思います。

広告

広告

-WordPress
-


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[WORDPRESS]自作の記事一覧関数でページネーションができない。

 前回の記事で書いた以下の記事で、残課題としてページネーションがうまくいかないという話を書きました。  WORDPRESSでページネーションがうまくいかないという検索をするとたくさんページが出てきまし …

no image

WordPressで日本語のタイトルを入力しても消えるときの対応

Blogをいくつか分散で書いていたものを統合しようとして初のWordPress導入をおこなった。 WordPress導入自体は、借りているXserverの自動インストール機能で楽勝だったのだが、投稿に …

[WORDPRESS]JETPACK連携ができないときの対応方法

私の環境では、「WP-ALL EXPORT」というプラグインが原因でした。WORDPRESSのアクセス解析等で有名なプラグイン「JETPACK」と連携が出来なかった事象を紹介し、対応策を記載します。 …

[WORDPRESS]ペイジネーションを画面の自由な場所に配置

自作の一覧関数を作成した場合に、WP_Pagenaviプラグインを利用したページネーションが表示されない、表示しようとしても画面の上の方に表示されるという事象に遭遇しました。プラグインのソースコードの …

[WORDPRESS]投稿を50音順に並べる

まだ、諦めてません。演劇感想文リンクのWORDPRESS化計画。  演劇とかの感想文ブログ 発表!演劇感想文リンク Wordpress化計画https://blog.kansoli …

2017年10月
« 9月    
1234567
891011121314
15161718192021
22232425262728
293031