Я работаю над пользовательским плагином для WordPress, чтобы показать пользователям экран режима обслуживания. Я следовал руководству, но у меня есть некоторые проблемы, пока я отлаживаю код. xdebug покажет мне эти ошибки:
Предупреждение: require_once (): http: // обертка отключена в конфигурации сервера с помощью allow_url_include = 0
Предупреждение: require_once ( http://localhost/wordpress/wp-content/plugins/maintenance-mode/assets/maintenance.php): не удалось открыть поток: не найдено подходящей оболочки
Неустранимая ошибка: require_once (): Не удалось открыть окно 'http://localhost/wordpress/wp-content/plugins/maintenance-mode/assets/maintenance.php' (include_path = ' .: / usr / local / php5 / lib / php ')
Я использую plugins_url
для загрузки пути, где сохраняется файл обслуживания. php, и до Я использовал ошибку plugins_dir_path
, но с тем же результатом.
Есть ли исправление для этого?
class Maintenance {
public function init()
{
add_action( 'wp_loaded', array($this, 'maintenance_mode') );
//add_action( 'admin_init', array($this, 'maintenance_settings') );
}
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' );
require_once plugins_url('assets/maintenance.php' ,__FILE__);
}
die();
}
}