WordPressにて、メディアアップローダーからCSVファイルをアップして、自動的にテーブルを作成するショートコードをテキストボックスに自動挿入!

CSVファイルをアップして、自動的にテーブルをつくるプラグインが欲しいなぁと思って検索したら、あっと云う間に見つかりました。

» CSVファイルのデータからテーブルを表示させるショートコード | Simple Colors

素晴らしい。Simple Colorsさん、素敵です。

しかしこれだと、アップしたファイルのURLをコピーして、エントリー画面にてテキストボックスにペーストして、それを元にショートコードを作成するという流れとなり、クライアント様にこのショートコードを入力させるのはかなりハードルが高そうなので、自動で投稿に挿入するように機能を追加してみました。

Simple Colorsさんの作ったショートコードのスクリプトに続けて、上のコードを追加するだけ。
(ボクの場合はプラグイン化しましたけど、functions.phpにダラダラ書いてもOK)

この後、

こんな感じでCSVファイルをアップロード(またはメディアライブラリから選択)して、「投稿に挿入」ボタンを押すと、

こんな感じで、ショートコードが挿入されます。
※ただしアップしたファイルの拡張子が「.csv」の場合だけ。

仕組みとしては、メディアを投稿に挿入するときのmedia_send_to_editorにフックを掛けて、
・ファイルのアタッチメントIDからファイルのURLを取得
・URLの拡張子が“csv”であれば、同様にキャプションを取得
・で、ショートコードの書式にしたがって出力
てな感じ。

面倒だったのはフックポイントを探すところだけ(とは言いつつ、探索時間半日くらいかかりました^^ゞ)で、それがわかればどうにかこうにかできました、ってところです。

スポンサードリンク