How to programmatically put wordpress in maintenance mode
I used this code for several years now:
add_action('wp_loaded', 'check_maintenance_mode');
function check_maintenance_mode(){
global $pagenow;
if(defined('IN_MAINTENANCE') IN_MAINTENANCE $pagenow !== 'wp-login.php' !is_user_logged_in()){
header('HTTP/1.1 Service Unavailable', true, 503);
header('Content-Type: text/html; charset=utf-8');
if(file_exists(WP_CONTENT_DIR . '/maintenance.php')){
require_once( WP_CONTENT_DIR . '/maintenance.php' );
}
die();
}
}
The IN_MAINTENANCE
and WP_CONTENT_DIR
constants are initialised and setted by me.
Anyway, this code suddenly stopped to work. The website is always visible even with IN_MAINTENANCE setted to true. By logging from the function, I can confirm that all the conditions are true and it really throw the headers and require the maintenance.php file, but it doesn't.
Any idea?
Topic maintenance Wordpress
Category Web