Я зашел в эту ветку случайно, но решил ответить, даже если уже слишком поздно.Надеюсь, это кому-нибудь поможет ^^
В том, что вы нам показали, есть ошибки.Это части кода?
Прежде всего, вы всегда должны использовать хуки.Используйте хук wp_enqueue_script
для регистрации скриптов и локализации скрипта.Это дает вам:
function my_enqueue_script() {
wp_register_script( 'form-handle', get_stylesheet_directory_uri() . '/library/js/formHandle.js', array(), '', true);
wp_localize_script( 'form-handle', 'jsData',[
'ajaxUrl' => admin_url('admin-ajax.php'),
]);
}
add_action('wp_enqueue_script', 'my_enqueue_script');
Как вы видите, я также исправил неправильное использование wp_localize_script()
.В документации этой функции вы можете видеть, что 2-й параметр определяет имя JS-переменной, а 3-й параметр должен быть массивом .С помощью этого кода вы можете получить доступ к своему URL-адресу ajax с помощью: jsData.ajaxUrl
Наконец, я хотел бы отметить, что вы можете достичь URL http://testsite.ca/wp-admin/admin-ajax.php?action=publication, но я бы предложил использовать метод POST и проверку nonceвместо этого.
Если вы видите «0», это означает, что Wordpress не может выполнить действие.Убедитесь, что файл (ы), где определены функции, загружен.Вы также можете попробовать вызвать функцию вручную с помощью другого хука.