こんにちは。
エンジニアの松村です。
最近、久々にガンプラ(ガンダムのプラモデルの略)に手を出しました。
子供の頃ガンダムが好きで、よくプラモデルを買ってもらってたことを思い出したりしながら組み立てたのですが、最近のプラモデルは凄いですね。
塗装無しでも十分カッコいいですし、何より可動域に驚きました。関節部分がグリグリ動きます。
ディスプレイ用のスタンドも買って飾ってます。
さて、今回ですが、WordPressのフォームプラグインであるMW WP FORMについて記事にしてみました。
弊社でも非常にお世話になっているこのプラグイン、様々なカスタマイズが可能です。
その中でも、今回はフォームに添付されたファイルの管理について取り上げたいと思います。
フォームに添付されたファイルはメディアライブラリ上で管理しますが、メディアライブラリには記事の画像など様々なファイルがアップされています。
例えばフォーム経由のファイルのみ削除したい場合、一つひとつ確認しながら削除する必要があり、少し手間です。
そういった手間を減らすため、フォームからのファイルのみ保存先を変更し、管理画面上で簡単に管理出来る方法をご紹介します。
それでは参りましょう。
Table of contents
ファイルの保存先について
WordPressの仕様上、アップロードしたファイルは全て wp-content > uploads 内で年月別に保存されます。
管理画面 > メディアライブラリ上で、保存されたファイルを一覧で確認でき、年月やファイルの種類別にソートも可能ですが、フォームからアップされたファイルに絞ってソートは出来ません。
そこで、まずはフォームからのファイルのみ、uploads内の別フォルダに保存させる方法をご紹介します。
※ちなみに、MW WP FORMの設定で「問い合わせデータをデータベースに保存」にチェックを入れなかった場合、フォーム経由のファイルはメディアライブラリに保存されず、管理者宛メールに添付されるだけとなります。
フォーム経由のファイルのみ保存先を変更する
MW WP FORMには様々なフィルターフックが用意されており、保存先を変更することも可能です。
「mwform_upload_dir_mw-wp-form-〇〇〇」というフィルターフックを使用し、functions.php内に下記のように記述します。
add_filter( 'mwform_upload_dir_mw-wp-form-〇〇〇', function ($path,$Data,$key){ $upload_dir = wp_upload_dir(); return "/directory_name{$upload_dir['subdir']}"; //「directory_name」の部分が生成されるフォルダ名となります。 }, 10, 3 );
〇〇〇の部分はフォームのキーに差し替えてください。
「directory_name」部分がフォルダ名になるので、適宜変更してご利用ください。
上記の内容を反映すると、以後フォームからアップロードされたファイルは別フォルダに保存されます。
ただ、別フォルダに保存されるようになっても、メディアライブラリ上の表示は変わりません。
そこで、別プラグインを使用したメディアの管理方法をご紹介します。
Media Library Foldersを使用してメディア管理
管理画面 > プラグイン新規追加より「Media Library Folders」をインストールし、有効化します。
有効化すると、左側のメニューに「Media Library Folders」が追加されていますので、そちらクリックをしてみてください。
uploads内のフォルダ一覧を確認することが出来ます。
先程、funcitons.phpに記述した別フォルダ名も表示されていますね。
フォームからのファイルは、このフォルダ内に年月別に保存されていきます。
ファイルを削除したい場合は、フォルダ内のファイル名を個別にチェック、もしくは「Select All」で全選択し「Delete」で削除できます。
フォルダが空になるとフォルダ自体も削除できます。
フォルダ名にカーソルをあわせて右クリックし、表示される「Delete this Folder?」のメニューをクリックで削除完了です。
フォルダ自体が表示されていない場合
生成されているはずのフォルダがプラグイン上で表示されていない場合、プラグインメニュー内の「Sync」をクリックしてください。
おわりに
いかがでしたでしょうか。
フォームからは個人情報が含まれるファイルがアップされることもあるので、管理しやすい方法をご紹介してみました。
フォーム用のフォルダのみbasic認証をかけておくと、外部に流出するリスクも抑えられてより安全ですね。
今回は以上となります。
最後までご覧いただきありがとうございました。