在 Oxygen Builder 中创建“维护模式”

ARTRU
制氧机中的维护模式

更新: 2023 年 7 月 23 日。

  • 我创建了自定义插件来启用/禁用维护模式。
  • 遵循新的操作指南 在下面.

错误: 2023 年 7 月 22 日。

  • 目前这种方法与新版本的 Oxygen Builder 和 Rank Math SEO 不兼容。
  • 我会尽力尽快更新新的解决方案。

什么是维护模式?

维护模式是您在更新或修改网站时可以看到的系统维护模式。

默认情况下,Wordpress 维护模式仅在网站更新插件、主题、核心等时激活。要随意打开/关闭它,您需要安装在维护模式下创建的插件或主题。

对于那些使用 Elementor 的人,他们在设置中集成了一个维护选项。剩下的就是根据自己的喜好创建模板。

在本文中,我将指导您在不安装插件的情况下自行创建维护模式。我在 Oxygen Builder 上创建拖放,只要您了解它的工作原理,它就适用于所有其他情况。

在 Oxygen Builder 中创建维护模式的说明

我在模板中编辑 抓住所有 较早创建的。

氧气生成器中的结构代码块
在 Oxygen Builder 中创建代码块

创造 代码块 并使用如下代码放在顶部位置。每个代码的作用我都在里面做了注释。

<!-- 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();
?>

创建您自己的设计或在 代码笔,而我就这么简单。

打开/关闭维护模式

调整条件以隐藏/显示管理员和用户的元素。

  • 维护开启: 仅对用户可见,不在管理员中。
  • 维护关闭: 两者都不可见。
自定义维护制氧机模式下的条件
自定义维护制氧机模式下的条件

因为氧气没有命令 !=用户可以 所以它需要以不同的方式完成。

Add ConditionDynamic DataPHP Function Return value → 函数名称:输入 current_user_canmanage_options.

选项 2:创建自定义插件

创建具有启用维护模式功能的自定义插件。这仅适用于用户界面。

维护模式
维护模式

1. 创建您自己的自定义插件目录。例如 1-MAINTENANCE

2.在此文件夹中创建2个文件 index.php1-MAINTENANCE.php.

2 PHP自定义插件维护模式文件
2 PHP自定义插件维护模式文件

在文件中 index.php 输入此代码:

<?php
// Silence is golden.

文件 1-MAINTENANCE.php 将以下代码粘贴到:

<?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. 就是这样。您可以通过以下方式启用/禁用维护模式 启用 或者 停用 这个插件。

激活 - 停用自定义插件维护
激活 - 停用自定义插件维护

祝你好运。

评论

相关文章