WordPress tiene su propio sistema para realizar peticiones y procesos en segundo plano tipo Ajax, haciendo uso del método que nos proporciona la librería jQuery, por si decirlo, WordPress dispone de su propia cola de procesos.

Para empezar, tendremos que dirigir nuestras peticiones Ajax jQuery al archivo «admin-ajax.php» como muestro en el ejemplo, además de añadir un parámetro con el nombre inventado de la función que gestionara la petición y los datos enviados, en este caso «action : get_ajax_posts».

<script>
	jQuery.ajax({
	    type: 'POST',
	    url: 'http://localhost/miwebsite1/wp-admin/admin-ajax.php',
	    dataType: "json", 
	    data: { action : 'get_ajax_posts', data1:value1,data2:value2,data3:value3},
	    success: function( response ) {

			alert(response);

	    }
	});
</script>

Ahora, en el archivo de funciones de nuestro tema de WordPress, crearemos la función que gestionara la petición Ajax, que llevara el mismo nombre inventado que situaste en el script Ajax jQuery anterior, que en este caso era «action : get_ajax_posts». Recibiremos el resto de parámetros con la variable global de php $_POST.

function get_ajax_posts() {
	
	$data1 = $_POST['data1'];
	$data2 = $_POST['data2'];
	$data3 = $_POST['data3'];
	
	$exit = 1;
	
	echo json_encode($exit);
	
	exit();

}

Por último, en el archivo de funciones también, activaremos la función Ajax para usuarios registrados y no registrados. Como puedes ver, el nombre de la función se repite cuatro veces, tendrás que sustituirlo por le nombre de tu función las cuatro veces y dejar el resto tal y como esta.

add_action('wp_ajax_get_ajax_posts', 'get_ajax_posts');
add_action('wp_ajax_nopriv_get_ajax_posts', 'get_ajax_posts');

Si te ha sido de utilidad ¡deja un comentario! 🙂