本页目录

当我们网站遇到一些意外情况,无法提供良好的访客服务了。可以通过一些方法让全站都展示特定内容,避免您的访客以为你跑路了。
有时遇到一些情况,比如站点需要闭站备案、或者被要求停站等等,我们就可以使用本文的功能,使我们的 WordPress 站点一键进入站点维护模式:打开站点的任意链接都显示“站点维护中”的字眼,而且返回 503 响应码比整站关闭对搜索引擎也很友好~
案例一
在主题根目录下的functions.php文件中的<?php下添加以下代码并保存。
if(!current_user_can('administrator')){ wp_die('升级中,过一会再来吧!By Npcink'); }效果预览

案例二
- 代码来源:详情
将以下代码添加至主题根目录下的 functions.php 中:
/** * 维护模式 * 帮助:https://www.npc.ink/16245.html */if ( ! function_exists( 'npcink_maintain' ) ) : function npcink_maintain(){ //网站标题 $blogname = get_bloginfo('name'); //报错内容 $main_maintain = ' <div id="npcink-maintain"> <h2>很抱歉</h2> <h2>网站正在维护,请稍后再试。</h2> '; wp_die($main_maintain, '站点维护中 - '.$blogname ,array('response' => '503')); }endif;add_action('get_header', 'npcink_maintain');我这里提供了一份不错的报错内容,供大家参考:
<div id="npcink-maintain"><h2>很抱歉</h2><h2>网站正在维护,请稍后再试。</h2> <div class="main"><h2 class="n-title">我从远方赶来<br>赴你一面之约</h2><p class="n-meat">《生如夏花》<br><span style="font-size: 12px;">Npcink</span></p></div></div><style type="text/css">#npcink-maintain .main {text-align: center;padding-top: 10px;color: #fff;background-color: #b52424;border-radius: 5px;letter-spacing: 20px;}#npcink-maintain .n-title {font-size: 4em;margin-bottom: 5px;}#npcink-maintain .n-meat {font-size: 2em;padding-bottom: 2em;}</style>代码分析
依据页底提供的源代码,我进行了一些完善,做了一个报错内容的函数,代码逻辑更加清晰,还提供了一个演示的 HTML,方便大家使用。
如果访客不是编辑以上的用户且没有在登录状态下,则显示站点维护中...
效果如下

案例三
源代码
function lxtx_wp_maintenance_mode(){ if(!current_user_can('edit_themes') || !is_user_logged_in()){ $logo = 'https://www.ilxtx.com/wp-content/themes/lxtx/images/logo.png'; // 请将此图片地址换为自己站点的logo图片地址 $blogname = get_bloginfo('name'); $blogdescription = get_bloginfo('description'); wp_die('<div style="text-align:center"><img src="'.$logo.'" alt="'.$blogname.'" /><br /><br />'.$blogname.'正在例行维护中,请稍候...</div>', '站点维护中 - '.$blogname.' - '.$blogdescription ,array('response' => '503')); }}add_action('get_header', 'lxtx_wp_maintenance_mode');