Bu yüzden yönetim alanında bir AJAX çağrısı için bu yapılandırmayı kullanıyorum ( böyle ):
add_action( 'admin_head', 'ajaxPerNgg' );
function ajaxPerNgg(){ ?>
<script type="text/javascript" >
jQuery(document).ready(function() {
jQuery("#message").remove();
jQuery("#errore a#attivo").click(
function(){
var data = {
action: 'my_action'
};
jQuery.post(ajaxurl, data, function(response) {
if(response == "attivato")
jQuery("#errore a#inattivo").attr("id","completato").html("Attivato");
else
jQuery("#errore a#inattivo").attr("id","attivo").html("Attivalo ora");
});
}
);
});
</script>
<?php }
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
echo 'attivato';
die();
}
Sadece bir test kodu, ama her zaman "attivato" dizesi yerine 0 döndürür. Ayrıca ajax url'yi 404 hatası olmadan doğru bir şekilde bulur.
Sorun nedir?
wp_ajax_my_action
Sorunumu çözdüm, "my_action" kısmının soneki jQuery yazısında kullanılan eylemle eşleşmelidir. Seninkinin uyuştuğunu görüyorum, yani senin durumundaki sorun bu değil. Ayrıca yapmaya çalıştığınız yönetici sayfasından da çalıştırıyorum. Bu ajax çağrısını yapmaya çalışırken giriş yaptınız mı? Yoksa çıkış yaptınız mı?