AJAX übergibt keine Variablen an die PHP-function im Plugin

Ich erstelle ein Plugin, das an einem bestimmten Punkt AJAX verwenden muss, um Informationen an PHP zu übergeben, abhängig von den Ereignissen, die vom Frontend-Benutzer auf der anderen Seite ausgetriggers werden.

Das Ereignis selbst ist, wenn der Benutzer auf einen der Links klickt.

Mein Ajax-Code ist:

$.ajax({ cache: false, async:false, timeout: 8000, type: 'POST', data: {action: 'getpostfilter', year : year, month: month, category: category}, url: ajax_object_1.ajaxurl, success: function(data) {alert( "Handler for .click() called." + category+year+month );}, error: function() {} }); 

Ich habe Action-Hooks und die function, die Ajax aufruft, erstellt:

 function get_post_filter_by_date_and_category(){ global $wpdb, $information; $information['category']= $_POST['category']; $information['year']= $_POST['year']; $information['month']= $_POST['month']; print_r($information); return $information; die(); } add_action('wp_ajax_getpostfilter','get_post_filter_by_date_and_category'); add_action( 'wp_ajax_nopriv_getpostfilter','get_post_filter_by_date_and_category'); 

Wo global $information am Anfang des Plugin Quellcodes erstellt wurden, werden zum Speichern der Variablen verwendet, die an den PHP übergeben werden.

Ich rufe die function, die die Postinformation erhalten soll, wie folgt auf der separaten Seite an:

 get_post_filter_by_date_and_category(); if(isset($information)){ echo('

ELSE

'); print_r($information);

Ich habe nicht vergessen, die Skripte richtig einzuordnen, und ich benutze auch wp_localize_script, um admin-ajax.php als URL an einen Ajax-Aufruf zu übergeben.

Ich habe absolut keine Ahnung, was falsch läuft.

Ich habe Folgendes mit verschiedenen Druck- und Warnfunktionen überprüft :

  1. Die jQuery, die ich verwende, ist korrekt und erstellt alle Variablen und übergibt sie wie beabsichtigt an AJAX.
  2. AJAX erhält alle Informationen (überprüft durch alert() ) und wirft keine Fehler
  3. PHP-Code läuft ohne “stumpfe” Fehler. print_r() wird verwendet, um den Inhalt von $information zu überprüfen und jedes Mal, wenn es das zurückgibt: Array ([Kategorie] => [Jahr] => [Monat] =>)

Ich bin mir ziemlich sicher, dass das nicht ist, weil ich die zusätzlichen Sicherheitsmaßnahmen nicht mache (nonce usw.)

Bitte helfen Sie.

Solutions Collecting From Web of "AJAX übergibt keine Variablen an die PHP-function im Plugin"