One of the WP Maintenance Mode users asked the support team how can the maintenance page be activated/deactivated programmatically. In case you were wondering the same thing, this is the solution:
First, create a function and add it where needed.
/** * Trigger activation/deactivation of the maintenance mode * * @param int $status * @return */ function wpmm_custom_trigger($status) { if (!in_array($status, array(0, 1))) { return; } if (!class_exists('WP_Maintenance_Mode')) { return; } // get settings $settings = WP_Maintenance_Mode::get_instance()->get_plugin_settings(); // set status $settings['general']['status'] = $status; $settings['general']['status_date'] = date('Y-m-d H:i:s'); // save settings update_option('wpmm_settings', $settings); // here you should have a clear cache mechanism if you have a cache plugin installed and activated... // starting point: https://github.com/Designmodocom/WP-Maintenance-Mode/blob/master/includes/classes/wp-maintenance-mode-admin.php#L414 }
Then use the function like this:
// enable the maintenance mode wpmm_custom_trigger(1); // disable the maintenance mode wpmm_custom_trigger(0);