WordPress 插件

简单的Coming Soon页面

安装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]