EDIT
您只需在之后的任何内容中添加自定义挂钩
parse_request
然后将即将发布的内容附加到该挂钩上,或者根据需要重定向到该挂钩上。更早挂钩
parse_request
将导致WP无法将WP admin重定向到WP login。php。您也可以使用
php redirect 如果这就是你想要的行为。就像这样
function coming_soon(){
if( ! is_user_logged_in() && $GLOBALS[\'pagenow\'] !== \'wp-login.php\' )
do_action( \'coming_soon_content\' );
}
add_action(\'parse_request\', \'coming_soon\', 5);
add_action( \'coming_soon_content\', \'my_coming_soon_page\' );
function my_coming_soon_page(){
echo \'<h2>Coming soon!</h2>\'; // your coming soon content or
echo \'<meta http-equiv="refresh" content="0;URL=/cgi-sys/defaultwebpage.cgi">\'; // if using meta refresh
header(\'Location: http://www.example.com/\'); // if using php header()
exit; // if using header()
wp_die(); // this is where die should be
}
ORIGINAL ANSWER
只需检查用户是否登录
is_user_logged_in()
. 此外,我会提前挂接(init)并检查我们是否在wp登录上。php页面,用户仍然可以登录!这将确保如果没有人登录,您的站点上不会运行任何内容。使用
wp_head
作为一个钩子,在进行检查之前,你仍然有很多东西要装载。
function coming_soon(){
if( ! is_user_logged_in() && $GLOBALS[\'pagenow\'] !== \'wp-login.php\' )
wp_die();
}
add_action(\'init\', \'coming_soon\', 5);