Create "Maintenance mode" in Oxygen Builder

TABLE OF CONTENTS
UPDATE: July 23, 2023.
ERROR: July 22, 2023.
Maintenace mode is the system maintenance mode that you can see when a website is being updated or modified.
By default, in Wordpress maintenance mode is only activated when the website is updating plugins, themes, core, etc. To turn it on/off at will, you need to install a plugin or theme that has been created in maintenance mode.
For those of you using Elementor, they have integrated a maintenance option in settings. All that remains is to create the template to your liking.
In this article, I will guide you to create Maintenance mode yourself without installing a plugin. I created on Oxygen Builder drag and drop, as long as you understand how it works, it will be applicable in all other cases.
I edited in the template Catch All that were created earlier.
Create Code Block and put in the top position with the code as below. I have annotated the functions of each code in.
<!-- Thông báo cho bot thu thập dữ liệu như Google hay Bing biết được website đang bảo trì và quay lại sau khoảng thời gian được chỉ định. -->
<?php
header("HTTP/1.1 503 Service Temporarily Unavailable");
header("Status: 503 Service Temporarily Unavailable");
header("Retry-After: 3600"); //Sau "3600 giây = 1 giờ" bot thu thập dữ liệu sẽ quay lại.
?>
<!-- _____________________________________ -->
<!-- Mã HTML giao diện chế độ Maintenance. -->
<div>
<h1>BẢO TRÌ</h1>
</div>
<style>
body{
background-color: #fff;
}
h1{
color: #000;
}
</style>
<!-- _____________________________________________________ -->
<!-- Đoạn mã dùng để dừng thực thi các đoạn code phía sau. -->
<?php
exit();
?>
Create your own design or find it on codepen, and I'm just as simple as this.
Adjust Condition to hide/show elements for Admin and user.
Because Oxygen has no command !=
give User Can so it needs to be done differently.
Add Condition
→ Dynamic Data
→ PHP Function Return value
→ Function Name: enter current_user_can
→ manage_options
.
Create Custom Plugin with function to enable Maintenance Mode. And that only applies to the user interface.
1. Create your own custom plugin directory. For example 1-MAINTENANCE
2. In this folder you create 2 files index.php
and 1-MAINTENANCE.php
.
In the file index.php
Enter this code:
<?php
// Silence is golden.
File 1-MAINTENANCE.php
Paste the below code in:
<?php
/*
Plugin Name: 1-MAINTENANCE
Description: Plugin Maintenance mode.
Version: 1.0
Author: ARTRU
*/
define('MAINTENANCE_MODE_503_FILE', __FILE__);
register_activation_hook(MAINTENANCE_MODE_503_FILE, 'maintenance_mode_503_enable');
register_deactivation_hook(MAINTENANCE_MODE_503_FILE, 'maintenance_mode_503_disable');
function maintenance_mode_503_enable()
{
set_transient('maintenance_mode_503', true, 0);
}
function maintenance_mode_503_disable()
{
delete_transient('maintenance_mode_503');
}
function maintenance_mode_503_check()
{
if (get_transient('maintenance_mode_503') && !current_user_can('manage_options')) {
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600');
header('Cache-Control: no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
echo '
<title>Maintenance mode</title>
<div id="artru-maintenance_div">
<h1 id="artru-maintenance_h1">MAINTENANCE</h1>
<p id="artru-maintenance_p">Please Come Back Later.</p>
</div>
<style>
body{
margin: 0px;
padding: 0px;
display: flex;
height: 100vh;
width: 100%;
background-color: #000;
color: #fff;
font-family: sans-serif;
}
#artru-maintenance_div{
margin: auto;
text-align: center;
}
#artru-maintenance_h1{
font-size: 30px;
}
#artru-maintenance_p{
font-size: 20px;
}
</style>
';
exit();
}
}
add_action('init', 'maintenance_mode_503_check');
?>
3. That's it. You can enable/disable Maintenance mode by Activate or Deactivate this plugin.
Good luck.
Related Articles