
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress怎么设置维护模式?
WP集市
2025-08-21
【WordPress教程】
1156人已围观
兄弟们,咱做网站的,谁还没遇到过要折腾的时候?更新插件、换主题、修数据库bug……总不能让用户盯着“白屏死机”或者“数据库连接错误”发呆吧?这时候“维护模式”就得安排上——关站干活时给用户看个友好提示,自己偷偷改代码,两不误!今天就唠唠WordPress咋设置维护模式,从小白到半吊子程序员都能用,赶紧码住!
一、插件法:小白首选,点点鼠标就完事
要说最简单的,肯定是插件!毕竟咱程序员也不是天天想写代码,能偷懒就偷懒嘛。直接在后台搜“维护模式”,排名靠前的几个插件都能用,比如“WP Maintenance Mode”或者“Maintenance”,随便挑一个安装激活。
激活后一般有个“设置”页面,填标题(比如“网站升级中,10分钟后回来”)、描述(“工程师正在偷偷优化,马上就好~”),还能传个背景图、设个倒计时,甚至加个订阅表单让用户留邮箱。对了,重点! 记得找“访问限制”或者“白名单”功能,把自己的IP加进去,不然你自己访问也跳维护页,改完想测试都麻烦——别问我怎么知道的,上次忘设白名单,改完代码傻站着等倒计时,尴尬得抠脚。
插件法优点是简单,缺点是占点服务器资源,不过小网站无所谓,新手直接冲这个!
二、代码法:半吊子程序员专属,轻量不啰嗦
要是你稍微懂点PHP,不想装插件(毕竟插件多了卡后台),直接上代码!两种路子:改functions.php,或者自定义维护页模板。
路子1:functions.php加几行代码
先找到你当前主题的functions.php文件,路径在wp-content/themes/你的主题名/
下面,用FTP或者后台“外观-主题文件编辑器”打开(记得先备份! 改崩了别找我)。然后贴这段代码:
function wp_maintenance_mode() {
if ( !current_user_can( 'edit_themes' ) && !is_user_logged_in() ) {
wp_die( '<h1 style="text-align:center">网站维护中~</h1><p style="text-align:center">工程师正在优化,10分钟后回来~</p>', '维护通知', array( 'response' => 503 ) );
}
}
add_action( 'get_header', 'wp_maintenance_mode' );
解释下:current_user_can('edit_themes')
判断是不是管理员(能改主题的都是自己人),is_user_logged_in()
判断是不是登录用户,这两种人能正常访问;其他人直接wp_die()
输出维护提示,response => 503
是告诉搜索引擎“这是临时维护,不是网站挂了”,别降权。
路子2:自定义维护页模板
要是觉得wp_die()
太丑,想搞个花里胡哨的页面,新建个maintenance.php文件,写HTML+CSS,然后在functions.php里判断:非管理员就加载这个模板。代码大概长这样:
function custom_maintenance_mode() {
if ( !current_user_can( 'edit_themes' ) && !is_user_logged_in() ) {
include( get_template_directory() . '/maintenance.php' );
die();
}
}
add_action( 'template_redirect', 'custom_maintenance_mode' );
记得把maintenance.php扔到主题文件夹里,样式写好看点,别让用户觉得你网站太寒酸~
三、.htaccess法:硬核玩家专属,服务器级拦截
要是你服务器玩得溜,不想动WordPress代码,直接改服务器配置!Apache服务器的话,找到网站根目录的.htaccess文件(没看到?开隐藏文件),加这段代码:
RewriteEngine On
# 除了自己的IP,其他人都跳维护页
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100 # 换成你的IP
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteRule .* /maintenance.html [R=302,L]
然后在根目录新建个maintenance.html,写维护提示。注意R=302
是临时重定向,503
状态码更好(告诉搜索引擎“临时维护”),可以改成:
ErrorDocument 503 /maintenance.html
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100
RewriteRule .* - [R=503,L]
注意! Nginx服务器得改nginx.conf,加error_page 503 /maintenance.html;
,具体配置自己搜,咱今天先唠Apache的。这个方法优点是“一刀切”,连WordPress核心都没加载就拦截了,适合服务器维护时用。
唠两句总结
三种法子,各有各的道:新手直接插件,简单无脑;懂点代码的用functions.php,轻量灵活;服务器大佬上.htaccess,硬核高效。记住几个点:备份!备份!备份! 改代码前先备份文件;设置白名单IP,自己访问别被拦截;页面写友好点,别让用户觉得你网站“跑路了”。
总之,维护模式这东西,该用就得用——关站不可怕,没提示才尴尬!下次改网站前,先把维护页安排上,用户舒服,自己也省心~ 散会!
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
