web-dev-qa-db-fra.com

Récupérer les informations postales dans AJAX fonction d'assistance

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?

1
aprea

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.

0
kaiser

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.

0
helenhousandi