当我们网站遇到一些意外情况,无法提供良好的访客服务了。可以通过一些方法让全站都展示特定内容,避免您的访客以为你跑路了。
有时遇到一些情况,比如站点需要闭站备案、或者被要求停站等等,我们就可以使用本文的功能,使我们的 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">
<h1>很抱歉</h1>
<h2>网站正在维护,请稍后再试。</h2>
';
wp_die($main_maintain, '站点维护中 - '.$blogname ,array('response' => '503'));
}
endif;
add_action('get_header', 'npcink_maintain');
我这里提供了一份不错的报错内容,供大家参考:
<div id="npcink-maintain">
<h1>很抱歉</h1>
<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');