在我的buddypress中,我将注册页面设置为主页。现在,每当登录用户尝试访问注册页面(主页)时,他们都会被重定向到Members目录。我想把它改成,主页。有什么办法吗?我已尝试更改buddypress/bp成员/bp成员注册。php文件如下:
// If the user is logged in, redirect away from here
if ( is_user_logged_in() ) {
if ( bp_is_component_front_page( \'register\' ) )
$redirect_to = bp_get_root_domain() . \'/\' . bp_get_members_root_slug();
else
$redirect_to = bp_get_root_domain();
bp_core_redirect( apply_filters( \'bp_loggedin_register_page_redirect_to\', $redirect_to ) );
return;
}
对此:
// If the user is logged in, redirect away from here
if ( is_user_logged_in() ) {
if ( bp_is_component_front_page( \'register\' ) )
$redirect_to = bp_get_root_domain() . \'/\';
else
$redirect_to = bp_get_root_domain();
bp_core_redirect( apply_filters( \'bp_loggedin_register_page_redirect_to\', $redirect_to ) );
return;
}
I am getting this error:
页面未正确重定向
Firefox检测到服务器正在以一种永远无法完成的方式重定向对此地址的请求。
有人知道怎么解决这个问题吗?
最合适的回答,由SO网友:Boone Gorges 整理而成
只是提醒你应该使用bp_loggedin_register_page_redirect_to
过滤以完成此操作,而不是修改BuddyPress文件(每次升级都会覆盖)。
function bbg_bp_loggedin_register_page_redirect_to( $redirect_to ) {
if ( bp_is_component_front_page( \'register\' ) )
$redirect_to = bp_get_root_domain() . \'/home\';
return $redirect_to;
}
add_filter( \'bp_loggedin_register_page_redirect_to\', \'bbg_bp_loggedin_register_page_redirect_to\' );
把这个放在你的主题函数中。php或您的bp自定义。php文件
http://codex.buddypress.org/extending-buddypress/bp-custom-php/. 它会完成同样的事情,但不会触及BuddyPress本身。
SO网友:Towfiq
好啊找到问题。我试图将登录的成员从注册页面重定向到主页。主页设置为注册页面。因此,当注册成员尝试访问注册页面时,他们会重定向回主页,主页设置为注册页面。因此,有一个无限的重定向循环。浏览器不允许这种重定向。所以,我得到了这个信息:
页面未正确重定向
Firefox检测到服务器正在以一种永远无法完成的方式重定向对此地址的请求。
所以而不是这样:
$redirect_to = bp_get_root_domain() . \'/\';
else
$redirect_to = bp_get_root_domain();
我用了这个:
$redirect_to = bp_get_root_domain() . \'/home\'; //A custom page.
else
$redirect_to = bp_get_root_domain();
现在工作正常。:)问题已解决。