我有一个类正在做一些后端工作(创建css和js文件,创建元盒,注册ajax挂钩等等)
当我只包含文件时,一切都很好。问题是这些文件包含在每个管理页面上。
为了只在我真正想要的页面上包含它们(CPT),我使用了\'current_screen\' 管理挂钩。
在那个钩子里使用很安全\'get_current_screen\' function
我使用该函数确定当前所在的页面,以便添加适当的类。接下来发生的事情是,我的类仅在CPT页面上继续按预期工作(生成css、js、创建元盒),但ajax挂钩停止工作(响应0)。
Ajax请求通过单击元盒内的按钮来触发。
我不确定到底发生了什么,没有php错误。
作品:
include(plugin_dir_path(__FILE__) .\'/src/MyClass.php\');
new MyClass();
损坏:
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();
}
}
损坏:
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调用除外,它只适用于第一个示例。