iN wordpress。我想要不允许用户在没有登录的情况下看到任何页面。目前可以看到主页。但我想将它们重定向到登录页面而无需登录。他们无法访问网站的任何页面而无需登录。任何人都知道如何在wordpress中执行此操作?
答案 0 :(得分:4)
header.php包含在每个页面中, 你可以查看 get_current_user_id(); 如果没有任何用户登录,这个函数会返回0。
在header.php中
<?php
if( !get_current_user_id() && !preg_match('/login/', $_SERVER['REQUEST_URI'])){ // checks if the user is not logged in and the page is not login page,
// redirect to some other page,
header("Location: ". site_url().'/wp-login/' ); // redirecting to login page
exit()
}
?>
答案 1 :(得分:1)
WordPress具有检查用户是否已登录名为is_user_logged_in()的功能。
所以放在header.php顶部的逻辑是:
<?php
if ( !is_user_logged_in() ) {
header("Location: http://www.LoginPageUrl.com/");
}
?>