當(dāng)我們網(wǎng)站遇到一些意外情況,無(wú)法提供良好的訪客服務(wù)了。可以通過(guò)一些方法讓全站都展示特定內(nèi)容,避免您的訪客以為你跑路了。
有時(shí)遇到一些情況,比如站點(diǎn)需要閉站備案、或者被要求停站等等,我們就可以使用本文的功能,使我們的 wordpress 站點(diǎn)一鍵進(jìn)入站點(diǎn)維護(hù)模式:打開(kāi)站點(diǎn)的任意鏈接都顯示“站點(diǎn)維護(hù)中”的字眼,而且返回 503 響應(yīng)碼比整站關(guān)閉對(duì)搜索引擎也很友好~
案例一
在主題根目錄下的functions.php
文件中的<?php
下添加以下代碼并保存。
if(!current_user_can('administrator')){
wp_die('升級(jí)中,過(guò)一會(huì)再來(lái)吧!By Npcink');
}
效果預(yù)覽

案例二
- 代碼來(lái)源:詳情
將以下代碼添加至主題根目錄下的 functions.php
中:
/**
* 維護(hù)模式
* 幫助:http://m.kartiktrivedi.com/16245.html
*/
if ( ! function_exists( 'npcink_maintain' ) ) :
function npcink_maintain(){
//網(wǎng)站標(biāo)題
$blogname = get_bloginfo('name');
//報(bào)錯(cuò)內(nèi)容
$main_maintain = '
<div id="npcink-maintain">
<h1>很抱歉</h1>
<h2>網(wǎng)站正在維護(hù),請(qǐng)稍后再試。</h2>
';
wp_die($main_maintain, '站點(diǎn)維護(hù)中 - '.$blogname ,array('response' => '503'));
}
endif;
add_action('get_header', 'npcink_maintain');
我這里提供了一份不錯(cuò)的報(bào)錯(cuò)內(nèi)容,供大家參考:
<div id="npcink-maintain">
<h1>很抱歉</h1>
<h2>網(wǎng)站正在維護(hù),請(qǐng)稍后再試。</h2> <div class="main">
<h2 class="n-title">我從遠(yuǎn)方趕來(lái)<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>
代碼分析
依據(jù)頁(yè)底提供的源代碼,我進(jìn)行了一些完善,做了一個(gè)報(bào)錯(cuò)內(nèi)容的函數(shù),代碼邏輯更加清晰,還提供了一個(gè)演示的HTML,方便大家使用。
如果訪客不是編輯以上的用戶且沒(méi)有在登錄狀態(tài)下,則顯示站點(diǎn)維護(hù)中…
效果如下

案例三
源代碼
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'; // 請(qǐng)將此圖片地址換為自己站點(diǎn)的logo圖片地址
$blogname = get_bloginfo('name');
$blogdescription = get_bloginfo('description');
wp_die('<div style="text-align:center"><img src="'.$logo.'" alt="'.$blogname.'" /><br /><br />'.$blogname.'正在例行維護(hù)中,請(qǐng)稍候...</div>', '站點(diǎn)維護(hù)中 - '.$blogname.' - '.$blogdescription ,array('response' => '503'));
}
}
add_action('get_header', 'lxtx_wp_maintenance_mode');
