Skip to main content

Command Palette

Search for a command to run...

General WordPress Snippet

Published

Enable WordPress maintenance mode

Code Snippet: PHP

<?php
// Activate WordPress Maintenance Mode
function ess_wp_maintenance_mode() {
    $posts = get_posts(array(
        'posts_per_page' => -1,
    ));

    if (!current_user_can('edit_themes') || !is_user_logged_in()) {
        wp_die('<h1>Under Maintenance</h1><br />The website is under planned maintenance. Check back later.');
    } else {
        $alert_bar_css = "
background-color: #ff0000;
color: #FFFFFF;
display: block;
line-height: 45px;
height: 50px;
position: relative;
text-align: center;
text-decoration: none;
top: 0px;
width: 100%;
z-index: 100;";

        $msg = "Maintenance Mode is Enabled!";

        if (is_admin()) {
            echo '<div class="notice notice-info is-dismissible"><p style="background-color: #ff0000; color: #FFFFFF;">' . $msg . '</p></div>';
        } else {
            echo '<div style="' . $alert_bar_css .'">' . $msg . '</div>';
        }
    }
}
if (is_admin()) {
    add_action('admin_notices', 'ess_wp_maintenance_mode');
} else{
    add_action('get_header', 'ess_wp_maintenance_mode');
}