Cómo agregar ajax en tu theme de WordPress, de manera correcta.

Buenas 🙂 hoy vamos a ver como implementar AJAX en WordPress de la manera correcta. Ya vimos bien como se insertan scripts y styles, ahora vamos a ver las funciones necesarias para que el sitio devuelva correctamente la información entre js y php.

Así que asumimos que ya tienen su .js con la llamada de ajax, y la vamos a cargar en functions.php del tema:

<?php
add_action( 'wp_enqueue_scripts', 'wp_y_ajax_ejemplo_de_carga' );
function wp_y_ajax_ejemplo_de_carga() {
wp_enqueue_script( 'wp-ajax', plugins_url( '/wp-ajax.js', __FILE__ ), array('jquery'), '1.0', true );
}
?>

Tengan en cuenta que pueden enviar variables a sus archivos .js de la siguiente manera

<?php
wp_localize_script(‘wp-ajax’, ‘wp_ajax_variables’, array(
‘ajaxurl’ => admin_url( ‘admin-ajax.php’ )
));
?>

En el código js lo van a poder recuperar como “wp_ajax_variables.ajax_url”.

Ahora necesitamos darle una respuesta desde el servidor a nuestra función con ajax en wp-ajax.js, así que vamos a preparar a functions.php para responder:

<?php
// Agregamos un hook para que el sitio responda tanto a usuarios logueados como los que no!
// no logueados
add_action(‘wp_ajax_nopriv_ejemplo_wp_ajax’, ‘ejemplo_wp_ajax’);
// logueados
add_action(‘wp_ajax_ejemplo_wp_ajax’, ‘ejemplo_wp_ajax’);
// Función que procesa la llamada AJAX
function ejemplo_wp_ajax(){
// su codigo de respuesta ;)
}
?>

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *