如何限制对 buddy press 中其他用户个人资料链接的访问?

how to restrict access to other users profile links in buddy press?

我一直在努力避免访问这个特定的 url,它包含在好友新闻插件配置文件中,如下所示:

 http://localhost/members/test0/mycred-history/

我正在使用另一个插件 MyCred 来解决 this.The 我面临的问题是上面的 link 显示了用户获得的积分的历史记录..因为每个登录的人都可以访问它在用户中..我只是希望它像这样只有登录用户才能检查自己的历史记录而不能检查其他成员的个人资料历史记录页面......它正在Buddy Press下工作所以请..任何帮助将不胜感激..!

简单地说,如果我以 "Test1" 登录,那么我也可以检查自己的后续 link,如下所示:

http://localhost/members/test1/mycred-history/

而且我还可以访问其他成员的个人资料历史记录 link 也 :

http://localhost/members/test2/mycred-history/

我只想限制对自己个人资料历史记录的访问 link..因为它作为扩展插件工作,即 MyCrud,所以默认情况下它没有该功能,而 Buddy Press 已经具有此功能默认... 因此,如果有人可以指导我如何为此历史页面 url 设置它,以便用户无法访问其他用户的个人资料历史 url..! 将不胜感激..! 谢谢..!

您需要调整 MyCred 中为历史添加子导航选项卡的代码。 在该代码中,添加或更改为:

'user_has_access'   => bp_is_my_profile()

这将删除标签。但是他们仍然可以使用直接 url 访问历史屏幕。所以你需要找到用于历史屏幕的模板并添加一个条件。类似于:

if( ! bp_is_my_profile() ) 
    echo  'Not allowed';
else { 
   // code for creating screen content 
}