昨晚在折腾博客,主要是想把博客的js、css、img、字体等文件上传到CDN加速网络里面去,期间博客里面的页面一些设置会失效,就想让WordPress和Discuz一样进入维护模式,结果在后台找遍了也没找到进入维护模式的方法,去插件市场找了个INN Maintenance Mode插件结果不能运行在PHP 7.2上面,无果,后来搜索了下WordPress自带了维护模式只是后台没有设置选项,需要修改文件来实现进入维护模式的目的。
为什么要启用维护模式?
- 可以避免访客在打开博客时,因为折腾出现一些不怎么美好的情况。
- 它可以帮助您正常地在网站的后端调整网站设置,主题或插件,而不会让访问者看到您的网站在维护时的全部细节。
嗯WordPress 文档里就是这么说的。
开启维护模式也很简单,我们需要打开WordPress当前模板目录中的functions.php,一般的模板文件名称为 funcitons_xxxx.php
添加如下代码:
1 2 3 4 5 6 | function maintenance_mode() { if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {wp_die('站点维护中,请稍后再来.');} } add_action('get_header', 'maintenance_mode'); |
保存上传就开启了维护模式,样式如下:
使WordPress进入维护模式
当然还有进阶玩法,在维护页面添加图片及文字
1 2 3 4 5 | function maintenance_mode() { if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {wp_die('<center><img src="你的图片地址" height="300" width="300"><h1>站点维护中,请稍后再来.</h1><p>发现了几个小错误,我们正在修改,这不需要多长时间<p></center>');} } add_action('get_header', 'maintenance_mode'); |
效果如下:
WordPress 维护模式
关闭维护模式只需要将添加的代码删除即可,当然你也可以直接注释掉
1 | //add_action('get_header', 'maintenance_mode'); |