J'ai un bouton dans un message sur lequel un utilisateur peut cliquer. Une fois cliqué, un appel AJAX est effectué.
Ma question est la suivante: dans ma fonction d'assistance PHP AJAX (située dans le fichier function.php de mon thème), comment récupérer, par exemple, l'ID de l'article à partir duquel la demande a été envoyée .
Je peux obtenir l’ID du balisage et le transmettre à l’appel AJAX, mais cela semble compliqué, c.-à-d.
<article id="post-12">
<!-- article content -->
</article>
// JS
var postID = $("article").attr("id");
Y a-t-il un meilleur moyen? Une sorte de global accessible peut-être?
Utilisez wp_localize_script()
pour déclarer des éléments globaux.
Exemple:
wp_localize_script( 'my-ajax-request', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
Vous pouvez y stocker les résultats de votre requête et y accéder ultérieurement.
Si cela se trouve dans la boucle, vous pouvez utiliser the_ID()
ou get_the_ID()
et transmettre la valeur. Je ne vois pas comment une fonction d'assistance peut savoir en quoi consiste la publication, à moins que vous ne la lui indiquiez explicitement.