Как запустить код после проверки полей выставления счетов Woocommerce? - PullRequest
0 голосов
/ 30 сентября 2019

Я хочу запустить некоторый код после проверки полей выставления счетов Woocommerce?

Я пытался использовать действие woocommerce_after_checkout_validation, но по какой-то причине оно не работает. Я поместил функцию в файл functions.php моей темы и вызвал ее из form-checkout.php

//functions.php
function my_woocommerce_after_checkout_validation( $data, $errors ) {
    var_dump($data);
}
add_action( 'woocommerce_after_checkout_validation', 'my_woocommerce_after_checkout_validation', 10, 2 );

//form-checkout.php
do_action( 'woocommerce_before_checkout_form', $checkout );

Почему вышеуказанный код не работает?

1 Ответ

0 голосов
/ 30 сентября 2019

AJAX-запрос, который вам нужно привязать, если пользователь, существующий с тем же адресом электронной почты или не основанный на этом, вам нужен открытый режим начальной загрузки в области ответа

//Inside function.php or plugin file
add_action('wp_enqueue_scripts', 'live_validation' );
add_action('wp_ajax_validate_email', 'validate_email_input');
add_action('wp_ajax_nopriv_validate_email', 'validate_email_input');

function live_validation() {
    wp_enqueue_script( "validate_email", STRIPE_BASE_URL . 'inc/js/check-email.js', array( 'jquery' ) );
    wp_localize_script( "validate_email", "validateEmail", array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}

function validate_email_input() {
    $email = $_POST['email'];
    echo email_exists($email);
    wp_die();
}



// Inside  Script File

jQuery(document).ready(function($) {
    jQuery('input[name=email]').keyup(function() { //Email input Name

        var input_value = jQuery(this).val();

        jQuery.post( validateEmail.ajaxurl, { action:'validate_email', email:input_value }, function(data) {
            console.log(data);
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...