wordpress对php函数的Ajax调用不';行不通

wordpress对php函数的Ajax调用不';行不通,php,wordpress,Php,Wordpress,我已经尝试了很多不同的方法,但是我就是不能用Wordpress实现AJAX。我显然没有得到什么,但我不知道它是什么。始终在admin-ajax.php 0上获得结果 public function enqueue_scripts() { wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/jquery-3.3.1-public.js', array( 'jquery' ), "3

我已经尝试了很多不同的方法,但是我就是不能用Wordpress实现AJAX。我显然没有得到什么,但我不知道它是什么。始终在admin-ajax.php 0上获得结果

     public function enqueue_scripts() {

    wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/jquery-3.3.1-public.js', array( 'jquery' ), "3.3.1", false );
    wp_enqueue_script( 'ajax-script', plugin_dir_url( __FILE__ ). 'js/wp-public.js', __FILE__, array() , $this->version, true);
    wp_localize_script( 'ajax-script', 'ajax_object',
            array(
                'ajax_url' => admin_url( 'admin-ajax.php')

                 )
       );

}
wp public.js

    $(document).ready(function()
  {

    $(".like-btn, .dislike-btn").click(function()
      {
        var id = this.id; // Getting Button id
        var split_id = id.split("_");

        var text = split_id[0];
        var postid = split_id[1]; // postid

        // Finding click type
        var type = 0;
        if(text == "like-btn") {
          type = 1;
        }else {
          type = 0;
        }

        // AJAX Request
        $.ajax(
          {
          url: ajax_object.ajax_url,
          type: 'post',
          data: {
            'action': 'my_action',
            postid: postid,
            type: type
            },
          dataType: 'json',
          success: function(data) {

              $("#likes_"+postid).text(data.likes); // setting likes
              $("#unlikes_"+postid).text(data.unlikes); // setting unlikes
              $("#msg_"+postid).text(data.msg); // setting messages

              if (data.likes || data.unlikes > "") {

                if(type == 1) {
                  $("#like-btn_"+postid).css("color", "#0757fe");
                  $("#dislike-btn_"+postid).css("color", "#8e8e8e");
                }

                if(type == 0) {
                  $("#dislike-btn_"+postid).css("color", "#f1476e");
                  $("#like-btn_"+postid).css("color", "#8e8e8e");
                }

              }

            }
          }
        );

      }
    );
   }
);
 $this-> loader-> add_action ("wp_ajax_my_action", $ plugin_public, "ajax_object"); 
包含类

class Wp_Ahb_Content {

    public function __construct(   ) {
      add_action('wp_ajax_my_action','my_action');
     add_action('wp_ajax_nopriv_my_action','my_action');
    }

 function my_action() {
    global $wpdb;
    $whatever = $_POST['postid'] ;
    echo "postid".$whatever;
}
变量已成功发送,无应答 屏幕截图 [阿贾克斯回应][1] [ajax_object][2]

  [1]: https://i.stack.imgur.com/KlmJ7.jpg
  [2]: https://i.stack.imgur.com/TO5i9.jpg

My_操作功能未运行 只需从uuu构造()中删除add_action,并将它们添加到加载器

add_action ('wp_ajax_my_action', 'my_action');
add_action ('wp_ajax_nopriv_my_action', 'my_action');
我变成了这样:在私有函数define\u public\u hooks()上

它开始运作 我只是想澄清一下,因为我发现了很多问题
关于Wordpress插件样板文件,My_action函数未运行 只需从uuu构造()中删除add_action,并将它们添加到加载器

add_action ('wp_ajax_my_action', 'my_action');
add_action ('wp_ajax_nopriv_my_action', 'my_action');
我变成了这样:在私有函数define\u public\u hooks()上

它开始运作 我只是想澄清一下,因为我发现了很多问题
关于Wordpress插件样板文件

,使用
wp_die()也很有帮助在操作结束时。在某些情况下,可能需要返回正确的响应。作为参考,使用
wp_die()在操作结束时。在某些情况下,可能需要返回正确的响应。