『原创』『教程』Typecho后台开关进入网站维护状态

2021-07-21T11:17:00

前言

因为经常捣鼓网站,有时候会直接在服务器上热更新,这样会导致用户体验很不好

所以就想到了设置一个维护通知页面,告知访问的用户正在维护,防止用户因无法访问放弃访问本站。

成果展示

{tabs}
{tabs-pane label="PC端展示"}

{/tabs-pane}
{tabs-pane label="PE端展示"}

{/tabs-pane}
{tabs-pane label="后台展示"}

{/tabs-pane}
{/tabs}

教程分享

本教程基于Joe主题,当然其他Typecho主题也可以使用,代码是固定的,但是方法是灵活的,期待您的灵感大爆发!

一、添加后台开关

在主题目录下的 functions.php 里添加以下代码(因为我引入了自定义配置文件,所以我是放在 public/custom.php 文件里的)

{hide}

{tabs}
{tabs-pane label="代码"}

$Maintain = new Typecho_Widget_Helper_Form_Element_Select(
        'Maintain',
        array(
            'off' => '关闭(默认)',
            'on' => '开启',
        ),
        'off',
        '是否开启全站维护功能',
        '介绍:开启后,全站进入维护状态'
    );
    $Maintain->setAttribute('class', 'joe_content joe_global');
    $form->addInput($Maintain->multiMode());

{/tabs-pane}
{tabs-pane label="代码位置"}

{/tabs-pane}
{/tabs}

{/hide}

二、添加全局跳转

因为我一般更新都是整站屏蔽的,所以我这里是添加的全局跳转,直接在public/header.php顶部添加以下代码

如果你只想某些页面跳转,比如只想跳转首页,你可以在index.php添加下面的代码

{hide}

{tabs}
{tabs-pane label="代码"}

<!-- 维护跳转 -->
<?php 
if(Helper::options()->Maintain === 'on') {
    header("Location: Maintain.html");
    exit;
}
?>

{/tabs-pane}
{tabs-pane label="代码位置"}

{/tabs-pane}
{/tabs}

{/hide}

三、上传维护页面

下载下面的文件,上传到Typecho主程序的 根目录 ,记得把文件名改为 Maintain.html (区分大小写)

注意:不是 主题 根目录
注意:不是 主题 根目录
注意:不是 主题 根目录
{hide}
{cloud title="Maintain" type="default" url="https://file.fuuuy.cn/s/dt03s5" password=""/}
{/hide}

到此就大功告成了,去后台打开全站维护后再访问你的网站试试吧!

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »