Аякс звони в WP - PullRequest
       2

Аякс звони в WP

0 голосов
/ 28 февраля 2019

Я создаю кнопку для отправки электронного письма в ветку зарегистрированного пользователя.Просто, чтобы начать кодировать это, мне нужно успешно отправить вызов AJAX, вызывая метод «success» объекта AJAX.

Я прочитал, что правильный путь, как показано ниже, с использованием функции wp_localize (), чтобы сделать URL-адрес файла admin-ajax.php доступным в моем Javascript. Но он не работает.

Я проверил, что функция query () вызывается успешно, поэтому скрипт правильно поставлен в очередь.

Это мой код плагина PHP:

add_action('woocommerce_after_add_to_cart_button','ajax_register_script');
function ajax_register_script()
{
    wp_register_script('mailer-script', plugins_url('/ajax-script.js', __FILE__),
        array('jquery'), '1.0', true);
    wp_enqueue_script('mailer-script', plugins_url('/ajax-script.js', __FILE__),
        array('jquery'), '1.0', true);
    wp_localize_script( 'mailer-script', 'mailer_ajax', 
        array( 'ajax_url' => admin_url('admin-ajax.php')) );
}


add_action('woocommerce_after_add_to_cart_button', 'button_function', 45);

function button_function()
{
    echo "<div class='unique' id='mail-button' onclick='enquiry()'>
  Not sure of your prescription? Click to be contacted</div>";
}

, а это мой JS:

function enquiry() {

  $.ajax({
         url: mailer_ajax.ajax_url,
         type: 'post',
         data: {
            action: 'go',
           },
        success: function () {
             document.getElementById('mail-button').innerHTML =  "Thankyou for your enquiry, an email has been sent to your branch. You will be contacted shortly";
        },

    })
};

Большое спасибо за понимание.

1 Ответ

0 голосов
/ 01 марта 2019

После большого количества очистки и рефакторинга мой код работает.
Хотелось бы, чтобы я точно знал, в чем проблема, поскольку в принципе вышеприведенное кажется правильным.Большую помощь получил ответ rams0610 на этот вопрос.

Использование AJAX в плагине WordPress

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...