WordPress ajax-admin.php returns 0 with die()

Bei der Implementierung von Ajax in einen WordPress Blog kann man sich schon mal die Haare raufen. Man muss darauf achten wie man den Hook setzt. Es ist wichtigzu wissen dass es 2 Varianten gibt, eine für den Aufruf von beim nicht eingeloggten Zustand und eine für den eingeloggten Zustand. Ansonsten bekommt man immer 0 als Antwort zurück (Das geschieht auch wenn man am Ende der Ausgabe das “die()” weglässt).

Beispiel:

function ajaxGateway(){ $response = new stdClass(); $response->error = null; $response->result = null; $response->id = null; /* ... do some funky shit ...*/ echo jsonencode($response); die(); } // normal hook without privilege addaction( 'wpajaxnoprivajaxGateway', 'ajaxGateway' ); // hook with privilege addaction( 'wpajaxajaxGateway', 'ajaxGateway' );

Marco

daddy in love, runner, kiter, engineer, berlin, sheeeeeit!