こんにちは
MW_WP_Form_Form::start()
の $options
をどうにかする方法は分かりませんでしたが、
ちょっと強引に、do_shortcode_tag フィルター(WordPress Ver 4.7.0以降)でaction値を書き換えるのではどうでしょうか?
※ 下記コードをご利用なさる場合は、ご自身でよく確認してからにしてください。(きちんと動作確認していないです)
class CLF_Mw_Form_Filter {
protected static $instance = null;
protected function __construct() {
add_action( 'mwform_after_exec_shortcode', array($this, 'mwform_after_exec_shortcode') );
}
public static function get_instance() {
if ( null === self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
public function mwform_after_exec_shortcode($form_key) {
add_filter('do_shortcode_tag', array($this, 'do_shortcode_tag'), 10, 4);
}
public function do_shortcode_tag($output, $tag, $attr, $m) {
if ( 'mwform_formkey' === $tag ) {
$action = './'; // action属性値
$pattern = '/(<form [^<>]*?)(action="")/';
$replacement = '$1action="' . $action . '"';
$output = preg_replace($pattern, $replacement, $output);
}
return $output;
}
}
CLF_Mw_Form_Filter::get_instance();
Colorful-life.さん
わざわざコードを書いていただき、本当にありがとうございます。
おかげさまでaction属性を設定することができました。
そのままのコードで、動作確認し、無事メールの送受信もできました。
HTMLも valid になり、スッキリしました。
重ね重ね、誠にありがとうございました。