如何将未登录的用户重定向到Wordpress上的登录页面?

时间:2015-12-09 19:47:01

标签: php wordpress buddypress

我知道这是一个问了几百万次的问题,但我找不到一个适合现在版本的Wordpress和/或我的特定情况的答案。

我有一个安装了Buddypress的Wordpress网站。

我想要那样: - 未登录的用户只能看到页面wp-login.php - 登录用户可以访问整个网站

我无法弄明白,这是不可能的。要么我更改站点地址或分配页面,或者功能...没有任何作用,一直是错误或404页面错误等...

基本上:你到达网站,你没有登录= Wp-Login.php,如果你登录页面“成员”

谢谢!

4 个答案:

答案 0 :(得分:4)

根据您的最终目标,有很多不同的方法可以做到这一点(使用WP登录页面,自定义登录页面等等)。您可以尝试将其添加到主题的functions.php文件中:

if ( ( is_single() || is_front_page() || is_page() || is_archive() || is_tax() )
    && ! is_page( 'login' ) && ! is_page('register') && ! is_user_logged_in() ) {
    auth_redirect(); 
}

或者您可以使用插件Force Login

<强>更新

理论上,你可能只是使用它,只是没有测试......

if( ! is_page('login') && ! is_page('register') && ! is_user_logged_in() ) {
    auth_redirect(); 
}

答案 1 :(得分:4)

看看这里

https://wordpress.org/support/topic/how-to-auth_redirect-to-specific-page

"INSERT INTO admins (username,email,gender,password,adminlevel) VALUES ('$username','$email','$gender','$password','$select')";

你也可以将它添加到你的functions.php文件中,而不是我之前所说的:

<?php
if( !is_user_logged_in() ) {
    wp_redirect('http://somepagehere');
    exit;
}
?>

答案 2 :(得分:0)

只需使用这个wordpress插件 https://wordpress.org/plugins/restrict-user-access/ 控制谁可以/无法访问您的网站。

如果你用谷歌搜索它,你可能会获得大量类似的插件。

答案 3 :(得分:0)

您希望它检查用户当前是否正在尝试登录或注册,如果没有将其重定向到您想要的任何页面。

if ( !is_user_logged_in() && !is_page( 'login' ) && ! is_page('register') ) {
   //redirect user, create account with them, do a hoola-hoop
}

请务必在get_header();

之前将此代码放在页面文件中