我创建了一个分类法(我们称之为tax
). 我需要限制用户可以看到的内容。用户不能编辑任何内容,只需阅读博客即可。如果只是设置他们只能看到一次的内容,我可能只会创建一个新的用户角色,但他们将查看的内容会经常更改
例如:
user1 can view tax1, tax4
user2 can view tax3
user3 can view tax1, tax2
下周一切都会改变(有点像退房看电影或书,然后还回去)
如何确保用户不能查看除分配给他们的分类之外的任何其他分类
我希望有一个我还没有找到的函数,类似于:
if(!get_taxonomy(ID)){
echo "You\'re not permitted to view this";
}else{
//Continue with showing page...
}
我已经做了一些设置,以便在他们的用户配置文件中为他们指定分类法。因此,在前端,当页面打开时,我可以检查他们可以看到哪些分类法。但他们仍然可以导航到其他分类法。如果他们看到他们在
http://website/tax1/
然后他们就可以输入
http://website/tax2/
并查看其他分类法
这必须在单个用户的基础上完成,而不是分配给某个角色,因为将有如此多的不同用户和如此多的不同分类法
很抱歉,我不能提供一个真实的例子;它正在本地开发,其中包含一些敏感信息
如果我需要澄清任何事情,我非常乐意澄清
谢谢您的帮助!
最合适的回答,由SO网友:mor7ifer 整理而成
像这样的怎么样if( in_array( $current_tax, get_user_meta( $user, \'legal_taxonomies\', true ) ) )
您可以使用get_term_by()
. 这是基于这样的假设,即您将可用的分类法存储为一个数组,但对于任何存储方法都很容易更改。