MW WP Formでフォームを用意する時、開発環境でテストをし本番環境に手動で反映することがありますよね。
その場合にやっかいなのがformkeyが異なってしまうことです。今回はフォーム作成時にスラッグを設定して運用する方法です。
※MW WP Formではスラッグの入力エリアが表示されていない場合があるので、管理画面の右上にある表示オプションでスラッグにチェックを入れてください。
function.phpへの記述
function ag_get_mwwpform_id( $slug='' ){
global $wpdb;
$table = $wpdb->prefix . 'posts';
$query = "SELECT * FROM $table WHERE post_type='mw-wp-form' AND post_status='publish' AND post_name= %s";
$result = $wpdb->get_row( $wpdb->prepare( $query, $slug ) );
return ( int )$result->ID;
}
function validation_rule( $Validation, $data, $Data ) {
// 処理
}
// slug名が【contact-form】の場合
$mwform_error_form_dl_arg = 'mwform_validation_mw-wp-form-' . ag_get_mwwpform_id( 'contact-form' );
add_filter( $mwform_error_form_dl_arg, 'validation_rule', 10, 3 );