Используйте wp_localize_script для Ajax в WordPress.URL-адрес файла WordPress admin-ajax.php, где данные для отправки отправляются на обработку.
//add in function.php
function ajax_script() {
wp_enqueue_script( 'ajax_operation_script', get_template_directory_uri() . '/js/script.js', array('jquery'), '1.0.0', true );
wp_localize_script( 'ajax_operation_script', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'relataive' )));
wp_enqueue_script( 'ajax_operation_script' );
}
add_action( 'wp_enqueue_scripts', 'ajax_script' );
Хук действия Ajax, называемый wp_ajax_.Вам нужно подключить пользовательскую функцию, которая будет выполняться во время вызова Ajax.
//add in function.php
add_action('wp_ajax_upload_file', 'upload_file');
add_action('wp_ajax_nopriv_upload_file', 'upload_file');
function upload_file(){
parse_str($_POST['form_data'], $my_array_of_vars);
print_r($my_array_of_vars);
die;
}
Код Ajax.
$.ajax({
url: myAjax.ajaxurl,
method:"POST",
data : {action: 'upload_file',
form_data:form_data
},
contentType: false,
cache: false,
processData: false