如何将未登录用户重定向到 Wordpress 上的登录页面?
How to redirect non logged in users to Login page on Wordpress?
我知道这是一个被问过数百万次的问题,但我现在找不到适合 Wordpress 版本的答案and/or我的特殊情况。
我有一个安装了 Buddypress 的 Wordpress 网站。
我想要那个:
- 未登录用户只能看到页面 wp-login.php
- 登录用户可以访问整个网站
就是想不通,不可能。要么我更改站点地址或分配页面,要么功能...没有任何效果,一直是错误或 404 页面错误等...
基本上:你到达网站,你没有登录= Wp-Login.php,如果你登录页面"members"
谢谢!
根据您的最终目标(使用 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();
}
就用这个wordpress插件
https://wordpress.org/plugins/restrict-user-access/
控制谁可以/不能访问您的网站。
如果你用谷歌搜索,你可能会得到大量类似的插件。
看这里
https://wordpress.org/support/topic/how-to-auth_redirect-to-specific-page
<?php
if( !is_user_logged_in() ) {
wp_redirect('http://somepagehere');
exit;
}
?>
您也可以将此添加到您的 functions.php 文件中,而不是我之前所说的:
function admin_redirect() {
if ( !is_user_logged_in()) {
wp_redirect( home_url('/{custom page goes here}/') );
exit;
}
}
add_action('get_header', 'admin_redirect');
您希望它检查用户当前是否没有尝试登录或注册,如果没有则将他们重定向到您想要的任何页面。
if ( !is_user_logged_in() && !is_page( 'login' ) && ! is_page('register') ) {
//redirect user, create account with them, do a hoola-hoop
}
一定要在 get_header();
之前将此代码放入您的页面文件中
我知道这是一个被问过数百万次的问题,但我现在找不到适合 Wordpress 版本的答案and/or我的特殊情况。
我有一个安装了 Buddypress 的 Wordpress 网站。
我想要那个: - 未登录用户只能看到页面 wp-login.php - 登录用户可以访问整个网站
就是想不通,不可能。要么我更改站点地址或分配页面,要么功能...没有任何效果,一直是错误或 404 页面错误等...
基本上:你到达网站,你没有登录= Wp-Login.php,如果你登录页面"members"
谢谢!
根据您的最终目标(使用 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();
}
就用这个wordpress插件 https://wordpress.org/plugins/restrict-user-access/ 控制谁可以/不能访问您的网站。
如果你用谷歌搜索,你可能会得到大量类似的插件。
看这里
https://wordpress.org/support/topic/how-to-auth_redirect-to-specific-page
<?php
if( !is_user_logged_in() ) {
wp_redirect('http://somepagehere');
exit;
}
?>
您也可以将此添加到您的 functions.php 文件中,而不是我之前所说的:
function admin_redirect() {
if ( !is_user_logged_in()) {
wp_redirect( home_url('/{custom page goes here}/') );
exit;
}
}
add_action('get_header', 'admin_redirect');
您希望它检查用户当前是否没有尝试登录或注册,如果没有则将他们重定向到您想要的任何页面。
if ( !is_user_logged_in() && !is_page( 'login' ) && ! is_page('register') ) {
//redirect user, create account with them, do a hoola-hoop
}
一定要在 get_header();
之前将此代码放入您的页面文件中