Wordpress jQuery звонок не стреляет - PullRequest
0 голосов
/ 14 февраля 2020

Я не понимаю, почему этот вызов ajax не срабатывает в моем классе. Я думаю, что у меня что-то неуместно или мне нужно вызвать add_action jQuery в исходном файле плагина или как? Я в недоумении. Я построил класс неправильно или как? Обратная связь была бы отличной. Я могу добавить другие файлы или объяснить более подробно, если это необходимо ..

администрация. php

class Administration {

    public function __construct() {
      // Add Administration Page
      add_action( 'admin_menu' , array ( $this , 'plugin_admin_add_menu'));
    }

    public function plugin_admin_add_menu() {
      // Administration Page creation
      $hook = add_menu_page(
        'Image Uploader Display',
        'Image Uploader Display',
        'manage_options',
        'image-uploader-display',
        array( $this , 'image_uploader_display_administration_main'), '');

        // Adds styles and scripts to Administration Page
        add_action("load-" . $hook, array( $this, 'image_uploader_display_administration_styles_scripts' ) );
    }

    public function image_uploader_display_administration_main() {
        require_once ( PLUGIN_FOLDER . '/administration/templates/main.php' );
    }

    public function image_uploader_display_administration_styles_scripts(){
      wp_enqueue_style('image-uploader-display-administration', PLUGIN_DIR . 'administration/css/image-uploader-display-administration.css', array(), '0.0.0', 'all');
      wp_enqueue_script( 'image-uploader-display-administration', PLUGIN_DIR . 'administration/js/image-uploader-display-administration.js', array('jquery'), null, true);
      wp_localize_script( 'image-uploader-display-administration', 'set_post_types', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

      **Adding action ->** add_action( 'wp_ajax_set_post_types', array( $this, 'image_uploader_display_administration_set_post_types' ) );      
    }

    public function image_uploader_display_administration_set_post_types() {
      echo "Set Post Types Ajax Return";
      wp_die();
    }

}

$IUDadministration = new Administration();

image-uploader-display-Administration. js

(function($) {
  $("#admin-iud #set_post_types").on('click', function(){
    // alert("Here works");
    $.ajax({
        url: set_post_types.ajax_url,
        type: 'POST',
        data: {
          action: set_post_types
        },
        success: function(response) {
            alert(response);
        }
    });
  })
})(jQuery);

image-uploader-display. php (исходный файл плагина)

define('PLUGIN_FOLDER', dirname(__FILE__) );
define('PLUGIN_DIR', plugins_url() . '/image-uploader-display/');
define('PLUGIN_VERSION', '1.0');
define('PLUGIN_BASE_FILENAME', plugin_basename(__FILE__));

class Image_Uploader_Display {

    public function __construct() {

      // Include Administration Page
      include_once( PLUGIN_FOLDER . '/administration/administration.php' );

      //

      //

    }

}

$IUD = new Image_Uploader_Display();
?>

Obvioulsy что-то установлено неправильно, или я не знаю, что ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...