Palych_tw
@Palych_tw
Типа веб-разработчик

Почему форма в Contact Form 7 не может получить статус отправлена она или нет?

Собственно суть вопроса. На отправку формы навешан хук(код ниже) . При отправке формы бесконечно крутится прелоадер и форма не выдает ни успешного, ни ошибочнго сообщения. При этом все что надо делается. Уходят 2 письма и создается купон. Писал код на тестовом серваке - все работало. Перенес в продакшн - случилась такая фигня. Вот код хука
add_action( 'wpcf7_mail_sent', 'generate_coupon' );

function generate_coupon( $contact_form ) {
    $title = $contact_form->title( );
    $submission = WPCF7_Submission::get_instance();

    if ( $submission ) {
        $posted_data = $submission->get_posted_data();
    }

    if ( 'Coupon Form' == $title ) {
        // Form fields
        $name = $posted_data['name'];
        $email = $posted_data['coupon-email'];

        //Generate coupon
        $coupon_code = rand(100,999); // Code
        $amount = '10'; // Amount
        $discount_type = 'percent'; // Type: fixed_cart, percent, fixed_product, percent_product
        $coupon_description = 'This coupon generated from form. For '.$name.' '.$email;
        $coupon = array(
            'post_title' => $coupon_code,
            'post_content' => '',
            'post_excerpt' => $coupon_description,
            'post_status' => 'publish',
            'post_author' => 1,
            'post_type'		=> 'shop_coupon'
        );

        $new_coupon_id = wp_insert_post( $coupon );

        //Update code
        $coupon = array();
        $coupon['ID'] = $new_coupon_id;
        $coupon['post_title'] = strval($coupon_code).strval($new_coupon_id);
        wp_update_post($coupon);

        // Add meta
        update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
        update_post_meta( $new_coupon_id, 'coupon_amount', $amount );
        update_post_meta( $new_coupon_id, 'individual_use', 'no' );
        update_post_meta( $new_coupon_id, 'usage_limit', '1' );

        //Sending mail
        remove_all_filters( 'wp_mail_from' );
        remove_all_filters( 'wp_mail_from_name' );
        $to = $email;
        $subject = "קופון הנחה";
        $headers = "Content-type: text/plain; charset=\"utf-8\"\n";
        $headers .= 'From: האטורי - ישראל <noreply@hattori.co.il>' . "\r\n" ;
        $headers .= "Content-type: text/plain; charset=\"utf-8\"\n";
        $message = "תודה על הרשמתך\r\n";
        $message .= "האטורי שמחה להעניק לך קוד קופון".$coupon['post_title']."\r\n";
        $message .= "המקנה לך 10% הנחה ברכישה ראשונה באתר\r\n";
        $message .= "מוזמנים לבקר בחנות ברחוב טשרניחובסקי 21 תל אביב\r\n";
        $message .= "בכל שאלה מוזמנים ליצור קשר\r\n";
        $message .= "האטורי - ישראל\r\n";

        wp_mail( $to, $subject, $message, $headers);

    }
}
  • Вопрос задан
  • 677 просмотров
Пригласить эксперта
Ответы на вопрос 1
Punkie
@Punkie
Смотрите json-запросы и ответы сервера - наверняка там есть ошибки, котоыре неправильно обрабатываются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы