Wp ajax не работает с «current_screen» админ-крюком

У меня есть класс, который выполняет некоторую работу на бэкэнд (enqueening css и js-файлы, создающие обменные ящики, регистрирующие крючки ajax и т. Д.)

Все работает нормально, когда я просто включаю файлы. Проблема в том, что файлы включены на каждую страницу администратора.

Чтобы включить их только на страницу, которую я действительно хочу (CPT), я использовал админ -хост current_screen .

Внутри этого крючка можно использовать функцию get_current_screen

Я использую эту функцию для определения того, на какой странице я сейчас работаю, поэтому я могу добавить соответствующие классы. Что происходит дальше, так это то, что мой класс продолжает работать, как ожидалось (enqueening css, js, создает обмены) только на странице CPT, но ajax hooks перестают работать (ответ 0).

Запросы Ajax запускаются при нажатии на кнопки внутри обменных ящиков.

Я не совсем уверен, что происходит, нет ошибок php.

  1. работает:

    include(plugin_dir_path(__FILE__) .'/src/MyClass.php'); new MyClass(); 
  2. сломана:

     add_action('current_screen',"iki_admin_current_screen"); function iki_admin_current_screen() { $screen = get_current_screen(); if($screen->id == 'portfolio') { include(plugin_dir_path(__FILE__) .'/src/MyClass.pnp; new MyClass(); } } 
  3. сломана:

     include(plugin_dir_path(__FILE__) .'/src/MyClass. add_action('current_screen',"iki_admin_current_screen"); function iki_admin_current_screen() { $screen = get_current_screen(); if($screen->id == 'portfolio') { new MyClass(); } } 

Я хотел бы отметить, что класс работает во всех трех примерах, за исключением вызовов AJAX, которые работают только в первом примере.

Solutions Collecting From Web of "Wp ajax не работает с «current_screen» админ-крюком"