2017-08-09 99 views
0

我有一个特定的用例,我想在公共页面的边栏中显示未登录的用户BuddyPress成员和组,但当用户单击某个成员时或组(或任何BP组件)我想将它们重定向到注册页面。如何从非登录用户的BuddyPress组件重定向

我已经成功地将我的functions.php文件中的下面的代码重定向到基于/ members和/ groups页面的slu however上,但是我无法弄清楚如何让它工作于/​​ groups/group- a或members/member-a等,或者更适合所有BuddyPress组件。

最终目标是当非登录用户导航到任何BuddyPress组件时,它们将被重定向到我的注册页面。

//custom redirect for non logged in users 
add_action('template_redirect', 'redirect_to_specific_page'); 
function redirect_to_specific_page() { 
if (is_page(array('groups', 'members')) && ! is_user_logged_in()) { 
wp_redirect('http:mysite.com/register', 301); 
exit; 
} 

回答

0

如果你谈论的是BP小部件成员和组,那么问题是while循环对于那些部件。看看他们以及他们如何在循环中包含链接。

最好的解决方案是编写使用循环的自定义小部件,该循环使用条件为成员或组创建链接。然后你不需要你的template_redirect函数。