如何控制哪些人可以在BuddyPress中查看某些页面?

时间:2012-08-16 作者:Paul T.

我想控制谁可以在BuddyPress中查看页面,并限制其他任何人访问它。

类似以下伪代码的内容:

<?php if ( loggedin_user_ids==1,4,5,7 ) { ?>
// Show page
<?php } else { ?>
// "You are not allowed to view this page" message
<?php } ?>
所以基本上,我需要:

能够control who can see the page, 不仅仅是任何登录用户。

我还需要control which pages this applies to, 不仅仅是任何页面。

我是BuddyPress的新手,所以我不知道which functions and variables to use 在这里

我想这样的事情可以在模板文件中完成,也可以在bp自定义中完成。php文件。Or is there a better solution to this?

3 个回复
最合适的回答,由SO网友:shanebp 整理而成

我是BuddyPress的新手,所以我不知道这里要使用哪些函数和变量。

阅读法典-例如:http://codex.buddypress.org/developer-docs/the-bp-global/

您可以在主题函数中创建一个函数。php或bp自定义。phpand从模板文件调用它,并传递参数,如allowed\\u users等。

或者将这样的硬代码编码到特定的模板文件中。

 global $bp; 
 $allowed_users_array = (1,4,5,7);
 if (in_array($bp->loggedin_user->id, $allowed_users_array)) { 
// Show page
} else { 
// "You are not allowed to view this page" message
// or load a custom error page using locate_template( array( \'some.php\' ), true );
// or redirect somewhere by using bp_core_redirect( );
} 

SO网友:Robert Bouten

我刚才做过这样的事。我想我已经放了一个模板文件“bbpress”。php在我的主题文件夹中。在标题中,我输入了以下访问控制代码:

if ( !is_user_logged_in() ) {
    wp_die(\'You don’t have access to this page.\');
}

SO网友:Zach

最近一直在做一些ACL研究Role Scoper 这似乎很好地满足了我的项目需求。我在提供该链接的同时,还要注意,这些“一体式”解决方案可能有点不可靠,因此请确保您进行了彻底的测试。由于您正在寻找BuddyPress集成,他们还有一个姐妹产品,名为Press Permit. 还没有尝试过,但似乎可以满足您的需要(如果您不想继续填写用户ID直到变为蓝色):)

结束