安装Ultimate Coming Soon Page插件遇到让人很囧的事——内存不足,连设置页面都显示不了,更别说正常工作了。既然服务器资源如此捉襟见肘,只能保留最基本功能,没用的通通删掉,开启就生效,用完直接删掉了事。
Coming Soon页面原理说来不难,就是检测用户是否登录,如果没有登录,就显示一个Coming Soon页面,或者说读取一个特殊的模版。可以更改WordPress显示模版的hook有template_redirect( action )、template_include( filter )等,选用template_redirect。
用插件方式来写比较合适,所以代码要包括插件声明,如下所示。
<?php /* Plugin Name: Simple Coming Soon Page Plugin Author: Sola Author URI: https://www.solagirl.net Description: A simple coming soon page for server with limited resource */ add_action( 'template_redirect', 'cp_check_user_state' ); function cp_check_user_state(){ if( !is_user_logged_in() ){ $template = plugin_dir_path( __FILE__ ) . '/page-comingsoon.php'; include ($template); exit; } } ?>
在插件目录下创建一个page-comingsoon.php文件,这个文件就是coming soon页面的模版,这个页面可简单可复杂,就算是纯HTML页面也不要紧。就简单写几句话忽悠一下吧。
<!DOCTYPE html> <html> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width" /> <title>Coming Soon! | <?php bloginfo('name'); ?></title> <style type="text/css"> body{background:url('<?php echo plugins_url('/bg.png',__FILE__); ?>') repeat #fff; font: 11px/1.5 arial,sans-serif;text-shadow:#fff 1px 1px 0px} .site{ max-width: 500px; margin: 200px auto; text-align: center;} .site h1{font-size: 50px; font-weight: normal} .site p{font-size: 18px;} </style> </head> <body> <div id="wrapper" class="site"> <h1>Coming Soon!</h1> <p>We are currently under construction. Will be back soon...</p> </div> </body> </html>
这个页面很简单,所以样式也直接写在头部了,加点背景,写几个字就搞定了。这时,没登陆的用户就会看到一个网站正在建设中的页面。
有人说coming soon页面也不能浪费,做的好一样可以吸引一部分访客,那就加个image文件夹和正经的style.css,认认真真的写个好看的HTML页面出来吧。
源代码码下载:[download id=51]