首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >WordPress维护模式完整指南:手动实现与插件方案

WordPress维护模式完整指南:手动实现与插件方案

原创
作者头像
qife122
发布2025-10-17 06:20:41
发布2025-10-17 06:20:41
1120
举报

WordPress维护模式(手动实现与插件方案)

作者:Christos Pontikis

发布日期:2025年5月25日

分类:WordPress

标签:hm, how-to, maintenanace mode, php, t_eg, wordpress, wordpress development, wp_dev

当我们需要对WordPress网站进行重大更改(自定义代码和/或数据库更改)时,就需要启用WordPress维护模式,这样网站的前端将对访问者不可用。

手动实现WordPress维护模式(无需插件)

将以下代码添加到子主题的functions.php文件中。

如果您没有子主题,可以轻松创建一个。请参阅相关文章。

使用此代码,网站(包括管理面板和前端)仅对管理员可用。其他任何用户都将看到维护模式消息。

启用WordPress维护模式

代码语言:php
复制
/**
 * 维护模式
 */
function wp_maintenance_mode() {
     if ( ! current_user_can( 'administrator' ) ) {
        wp_logout();
    }
     wp_die( '<h1>网站正在进行计划维护</h1><br />请稍后再来查看。' );
}

/**
 * 检查当前页面是否为登录页面
 *
 * @return bool
 */
function is_wp_login() {
    if ( isset( $GLOBALS['pagenow'] ) && 'wp-login.php' === $GLOBALS['pagenow'] ) {
        return true;
    }
     return false;
}

if ( false === is_user_logged_in() && false === is_wp_login() ) {
    add_action( 'get_header', 'wp_maintenance_mode' );
} else {
    if ( ! current_user_can( 'administrator' ) ) {
        add_action( 'admin_init', 'wp_maintenance_mode' );
    }
}

禁用WordPress维护模式

只需注释掉add_action行(或删除整个if块):

代码语言:php
复制
if ( false === is_user_logged_in() && false === is_wp_login() ) {
    //add_action( 'get_header', 'wp_maintenance_mode' );
} else {
    if ( ! current_user_can( 'administrator' ) ) {
        //add_action( 'admin_init', 'wp_maintenance_mode' );
    }
}

使用插件实现WordPress维护模式

您可以使用许多插件。

在本教程中,我们使用LightStart - Maintenance Mode, Coming Soon and Landing Page Builder。

安装并激活插件。

您可能希望使用许多可用选项:

菜单 ⟶ 设置 ⟶ LightStart

但基本设置是:

LightStart

结果是:

LightStart - 维护模式

记得清除缓存(如果有),否则插件可能无法正常工作。

Christos Pontikis

企业家 | 全栈开发人员 | MediSign Ltd创始人。拥有超过15年设计和开发Web应用程序的专业经验。在管理(Web)项目方面也非常有经验。

www.pontikis.gr/en

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WordPress维护模式(手动实现与插件方案)
    • 手动实现WordPress维护模式(无需插件)
      • 启用WordPress维护模式
      • 禁用WordPress维护模式
    • 使用插件实现WordPress维护模式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档