MW WP Form:データベースのCSVダウンロードを年月絞り込みに対応させる
Tag: MW WP Form
MW WP Formで「問い合わせデータをデータベース」を有効にしていると問い合わせデータを保存・確認できるので便利ですね。
で、このデータをCSVでエクスポートできるので活用している方も多いかと思います。
ただ、このCSVエクスポートが年月の絞り込みに対応していないのでちょっと使いづらいなぁと思ってました。
調べてみるとちょっとしたことで年月絞り込みに対応できたのでご紹介。
デフォルトのCSVダウンロード
デフォルトは全件ダウンロード、もしくはそのページに表示されているデータ全部となってます。
感覚的には年月で絞り込めばその絞り込んだページに出ているものがダウンロードされそうなものですがそうではなく、対象は全件(すべての日付)になってます。
一応ページ送りには対応しているみたいなので2ページ目に表示されてるものとかはいけるみたいですね。
アクションフックで対応
調べてみると問い合わせデータのリストを取得する前に通るフックがあり、そこに追加してやると絞り込みに対応できました。
add_filter( 'mwform_get_inquiry_data_args-mwf_XXX', 'custom_get_inquiry_data_args' ); function custom_get_inquiry_data_args( $args = array() ) { if( isset( $_GET['m'] ) && $_GET['m'] ) { $date = str_split( $_GET['m'], 4 ); $args['year'] = $date[0]; $args['monthnum'] = $date[1]; } return $args; }
フック名のXXXは対象フォームのIDになります。123の場合はmwform_get_inquiry_data_args-mwf_123です。
一覧ページで年月絞り込みを行うと「m」というパラメータに年月が6桁の数字で入ります。
2023年6月で絞り込むと「m=202306」となるので、それを4桁2桁で分割し、それぞれyearとmonthnumに設定します。
要はWp Queryに送るデータになるので、やろうと思えば年月だけでなくカスタムフィールドの絞り込みも作れそうですね。
動作
これで年月で絞り込めばそのページに表示されているデータ、 Download Allにチェックが入っていればその絞り込んだ月の全データがCSVでエクスポートされます。
月ごとでデータを保管しておきたい場合なんかに使えますね。
- Category: Works , WordPress , Plugins
- Tag: MW WP Form