サポート » プラグイン » Serial Number for Contact Form 7の通し番号で欠番ができる

  • 解決済 tsi985jjj8uys

    (@tsi985jjj8uys)


    「Serial Number for Contact Form 7」プラグインを使って通し番号を設定していますが、
    フォーム入力時にバリデーションエラーになっても番号が増えてしまい、
    正常に送信されたメールのSerial Numberに欠番ができてしまいます。

    Contact Formのフックで通し番号をインクリメントしているようですが、
    バリデーションエラーでもこれが動作してしまうのが原因のようです。

    暫定的に下記のような修正を行うことで対処しましたが、
    懸念点等あるでしょうか。

    プラグインがアップデートされることを期待しています。

    serial-number-for-contact-form-7/includes/submission.php

    変更箇所1 :

    
    add_action( 'wpcf7_submit', 'nt_wpcf7sn_submit', 10, 2 );
    

    変更箇所2 :

    
    function nt_wpcf7sn_submit( $contact_form, $result ) {
    
    	// ---- Add
    	if ( $contact_form->in_demo_mode() ) {
    		return;
    	}
    
    	$cases = array( 'spam', 'mail_sent', 'mail_failed' );
    
    	if ( empty( $result['status'] )
    	or ! in_array( $result['status'], $cases ) ) {
    		return;
    	}
    
    	$submission = WPCF7_Submission::get_instance();
    
    	if ( ! $submission
    	or ! $posted_data = $submission->get_posted_data() ) {
    		return;
    	}
    
    	if ( $submission->get_meta( 'do_not_store' ) ) {
    		return;
    	}
    	// ---- /Add
    
    	$form_id = intval( $contact_form->id );
    
    	// メールカウントの更新
    	NT_WPCF7SN_Form_Options::increment_count( $form_id );
    }
    
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Serial Number for Contact Form 7の通し番号で欠番ができる」には新たに返信することはできません。