Comment faire du Ajax avec WordPress ?

Pour le front ! Ceci est très simple.

Dans le plugin, il suffit de rajouter 2 actions. une lorsque que l’on est loggué et l’autre pour le public:

add_action('wp_ajax_mon_action',  'ajax_sort_tags' );
add_action('wp_ajax_nopriv_mon_action', 'ajax_sort_tags' );

Dans la fonction appelée, on va retourner le bloc avec les données chargées avec un die($donnees_retournee). Si on a besoin de paramètres, on pourra les récupérer par $_REQUEST['ma_variables'].

Dans le template, on va faire l’appel ajax comme suit:

jQuery(".ma_class_bouton").click( function(){
		var variable = 1;
		jQuery(".ma_class_block").load("<?php echo  get_bloginfo( 'wpurl' ) . '/wp-admin/admin-ajax.php'; ?>", { "action": "mon_action", "variable" : variable} );
		return false;
	});

J’appelle donc mon action avec en plus la valeur 1 en parametre que l’on va pouvoir récupérer avec le $_REQUEST['variable']

Insérer un script Javascript proprement

Le plus souvent, on fait appel à un script Js dans le code. Le mieux étant d’utiliser les fonctions de WordPress afin d’insérer ce code proprement.
Dans le thèmes, dans la page functions.php:

add_action( 'init', 'load_js' );
// Add js to use this theme
function load_js() {
	wp_enqueue_script( 'mon-script', get_bloginfo('stylesheet_directory') . '/js/mon-script.js', array('jquery'), '0.1', false);
}

Explications:

  • le premier paramètre ‘mon-script’ est l’identifiant du script
  • le deuxième paramètre get_bloginfo(‘stylesheet_directory’) . ‘/js/mon-script.js’ est l’adresse du script
  • le troisième paramètre array(‘jquery’) est le tableau des dépendances du script. ici le script ‘mon-script.js’ à besoin de jquery pour fonctionner
  • le quatrième paramètre ’0.1′ est la version du script
  • le cinquième paramètre false est false si le script est chargé dans le header (wp_head) ou true si le script doit être chargé dans le footer (wp_footer)

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.