on_sent_ok
をjsを必要とせずに動的に変更するには、wpcf7_before_send_mail
アクションを使用できます。
この小さなサンプルでは、私がやったことのあるクラスから抜粋しています(私は多くのことを削除しましたが、ここにあります)、pagetoredirectというフィールドを使ってフォームを設定する必要があります。
public function __construct(){
add_action('wpcf7_before_send_mail', array($this, 'mail_send_redirection'));
}
public static function mail_send_redirection($contact_form){
$options = get_option('bcf7u_general_settings');
$submission = WPCF7_Submission::get_instance();
if ($submission) {
$posted_data = $submission->get_posted_data();
$redirection_page_id = (empty($redirection_form_id)) ? $options['bcf7u_thank_you_url'] : $posted_data['pagetoredirect'];
$contact_form->skip_mail = false;
$contact_form->set_properties(array('additional_settings' => "on_sent_ok: \"location.replace('" . get_permalink($redirection_page_id) . "/?nonce=" . $nonce . "');\""));
}
}
は、私は、このためのコンタクトフォーム7を使用していないでしょう
それがお役に立てば幸いです。あなたはjavascriptでコード化されたシンプルなフォームでそれを達成することができます。テンプレートファイルを操作する経験はありますか? – Fencer04