Comment faire du Ajax avec WordPress ?
Posted by djudorange - 26/05/10 at 05:05:57Pour 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
Posted by djudorange - 26/05/10 at 05:05:20Le 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.