我有一个由插件为非管理员用户生成的cutsom Maintenance屏幕。如果相关设置页面上的选项已启用,我需要在其上设置倒计时计时器。我已经正确地实现了设置API,我能够保存和检索选中或未选中的复选框选项值和其他内容。我需要一些帮助来将前端样式排队,我需要将后端设置页面输出的一些数据传递给javascript文件,我希望避免内联脚本。我已经尝试使用普通的wp方式加载脚本wp_enqueue_script
, 但这行不通,我不知道为什么?我使用以下代码显示维护页面。是否可能wp_loaded
钩子是否会阻止样式和脚本?
public function maintenance_mode()
{
global $pagenow;
if( $pagenow !== \'wp-login.php\' && !current_user_can(\'manage_options\') && !is_admin() ){
header( $_SERVER[\'SERVER_PROTOCOL\'] . \'503 Service Temporarily Unavailable\', true, 503 );
header( \'Content-Type: text/html; charset=utf-8\' );
if( file_exists( plugin_dir_path( __FILE__ ) . \'assets/maintenance.php\' ) ) {
require_once plugin_dir_path( __FILE__ ) . \'assets/maintenance.php\';
}
die();
}
}
// the add action is in a separate method
add_action( \'wp_loaded\', array($this, \'maintenance_mode\') );