MW WP Form たまに使うカスタマイズ

PHPワードプレス関数ファイルMW WP Formプラグインメールフォーム

あんまり使わないけれど、特定のケースでは必須のカスタマイズ例。

完了ページだけ共用する

フォーム自体はシングルなり固定ページに置いておき、完了ページだけ別ページにしたい時。

function my_mwform_after_send( $Data ){
	if( $Data->get_form_key() === 'mw-wp-form-XXX' ){
		wp_redirect( '/contact-result' );
		exit;
	}
}
add_action( 'mwform_after_send_mw-wp-form-XXX', 'my_mwform_after_send' );

MW WP Formを使っているサイトのメンテを引き継いだのですが、
「このページには直接アクセスできません。」のエラー。

調べてみると、URL設定で、「完了画面URL」だけ指定してあり、あとは空欄にしてありました。

通常は全部埋めるか、全部空欄にしないとこうなりますので、上記の処理が必要。

 

完了ページには、フォーム設置のショートコードは必要ないので、適当に「お問い合わせありがとうございます。」かなにかを書いておきます。

フォーム設置のショートコードがある状態で直接完了ページを開くと変な感じになります。

ページ遷移しないで投稿タイトルを引き継ぐ

こちらも、フォーム自体はシングルなり固定ページに置いておく場合。

 

遷移元の投稿タイトルを引き継ぐ例はたくさん例がありますが、遷移なしで引き継ぐ例はあまり見ませんね。

URLにパラメータをつけずにMW WP Formを埋め込んだページのタイトルを取得する

 

function my_mwform_value( $value, $name ){
	if( $name === 'item_id' ){
		$name_value = get_the_title();
		return $name_value;
	}
	return $value;
}
add_filter( 'mwform_value_mw-wp-form-XXX', 'my_mwform_value', 10, 2 );

「mwform_text name=”item_id”」の項目に、投稿タイトルを使うよ、という内容です。

「URL引数を有効にする」にチェックが入っていても動作しますが、
「mwform_text name=”item_id” value=”{post_title}”」のように、遷移用の処理が残っていると空欄になりますので注意。