https://developer.wordpress.org/reference/functions/wp_enqueue_script/
https://developer.wordpress.org/reference/functions/wp_localize_script/
Birisi js dosyasını yükler. Diğeri de o js dosyasına php ile veriler eklemenize yarar. İkinci fonksiyon sayesinde action.js dosyasına admin-ajax dosyasının linkini atayacağız. Kodumuz şöyle olacak.
function js_yukle() {
wp_enqueue_script( 'ajax-dosyasi', get_template_directory_uri() . '/js/action.js', array( 'jquery' ), '1.0.0', true );
$degerler = array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
);
wp_localize_script( 'ajax-dosyasi', 'ajax_object', $degerler );
}
add_action( 'wp_enqueue_scripts', 'js_yukle' );
action.js dosyası da böyle:
$(document).ready(function () {
$('#p_button').click(function () {
let form = $('#test');
$.ajax({
url: ajax_object.ajax_url,
method: 'POST',
data: form.serialize() + '&action=my_action',
success: function (data) {
console.log(data);
}
});
});
});