「データベースに保存」する設定になっている場合、送信された画像やファイルやメール添付されると同時に、メディアにも保存されるようになっています。通常、その保存先のパスは通常の画像やフィアルと同じように /wp-content/uploads/YYYY/MM のディレクトリとなりますが、このフィルターフックを使用することで保存先のパスを変更することができます。
2.8.0 未満ではサーバールートからのフルパスで指定が必要でしたが、2.8.0 以降ではアップロードディレクトリ以下のパスを指定するように変更されます。
サンプルコード
/**
* @param empty $path
* @param MW_WP_Form_Data $Data
* @param string name 属性値
* @return string 空値以外を返したときだけそのパスが使用される
*/
function my_mwform_upload_dir( $path, $Data, $key ) {
/* 〜2.8.0 */
return WP_CONTENT_DIR . '/uploads/mw-wp-form-media';
/* 2.8.0 〜 */
return '/mw-wp-form-media';
}
add_filter( 'mwform_upload_dir_mw-wp-form-xxx', 'my_mwform_upload_dir', 10, 3 );