Tipp für ajax im Frontend

7. Dezember 2011 - wordpress

Bei meinen Tests mit ajax im Frontend ist mir eines aufgefallen:
Ich hatte versucht, mein JS Script und das Registrieren des ajax_nopriv Hooks von den Admin-Pages fernzuhalten und in meinem Plugin folgendes notiert:

 


function ...() {
if (is_admin() === false ) {
add_action('wp_enqueue_scripts', array ('...','my_scripts'));
add_action('wp_ajax_nopriv_...', array ('...','...'),7);
}
}

Das führt aber dazu, dass der ajax Request nicht ausgeführt werden kann und eine -1 zurück liefert.

So ging es dann ohne Probleme:


function ...() {
add_action('wp_enqueue_scripts', array ('...','my_scripts'));
add_action('wp_ajax_nopriv_...', array ('...','...'),7);
}

Nach wie vor muss man sich ausloggen, wenn man sein Plugin austesten will, da es sonst nicht funktioniert und eine 0 zurück liefert.

English Summary for „Tipp für ajax im Frontend“:

Don’t try to exclude your  add_action(‚wp_ajax_nopriv_…‘, array (‚…‘,’…‘),7);

from admin pages. Otherwise your ajax nopriv request will return a -1.