I Hauptdatei als Bellow haben:Benutzerdefinierte Wordpress Plugin Anruf Ajax Return 0
<?php
/*
Plugin Name: XYZ
*/
class GMS_SMS_Notifier {
public function __construct(){
if (is_admin()){
//JS
add_action('admin_enqueue_scripts',array($this,'load_custom_js_scripts'));
}
}
function load_custom_js_scripts() {
wp_register_script('gms_custom', plugins_url('/assets/js/gms_custom.js', __FILE__),false,'1.0',true);
wp_localize_script('gms_custom','plugin_ajax',array('ajaxurl'=>admin_url('admin-ajax.php')));
wp_enqueue_script('gms_custom');
}
function mail_send_to(){
global $wpdb;
echo $_POST['recordID'].'Hello';
die();
}
add_action('wp_ajax_mail_send_to','mail_send_to');
add_action('wp_ajax_nopriv_mail_send_to','mail_send_to');
} // End Class GMS_SMS_Notifier
new GMS_SMS_Notifier();
und JS-Datei gms_custom.js
, die als Gebrüll aussieht:
$(".send_mail_btn").click(function(){
var recordids = $(this).attr("id");
$.ajax({
url: plugin_ajax.ajaxurl,
type: 'POST',
data: ({
action: 'mail_send_to',
recordID: recordids,
}),
success: function(data) {
console.log(data);
}
});
});
Wenn ich Benutzerdefinierte Funktion setzen direkt in Funktion Thema des. php es funktioniert gut, aber wenn es auf Plug-in-Datei stattdessen wird es nicht funktionieren. Was mache ich falsch und was muss ich ändern, damit es auch vom Plugin funktioniert?
Ihr Recht aktualisiert Danke: In meinem Fall add_action ('wp_ajax_mail_send_to', Array ($ this, 'mail_send_to')); – Ravi