这个current_user_has_role()
是not WordPress的核心功能,另一方面wc_current_user_has_role( $role )
在WooCommerce里$role
是一个字符串,但第三方插件通常是离题的。
在此票证中,创建此函数已作为wontfix关闭:https://core.trac.wordpress.org/ticket/22624 Andrew Nacin在哪里summarized 它整洁地:
角色仅仅是可以分配给auser的一组能力。只应检查功能,而不应检查角色。如果需要明确了解用户所扮演的角色,可以通过多种方式使用现有API。
这样的新功能已经成熟,可以滥用了。我们需要人们检查功能,而不是角色,而让当前的\\u user\\u has\\u role()函数只是要求他们做错事。我们仍然没有让人们停止检查用户级别,我们不要朝这个方向走。
您使用current_user_can(\'administrator\')
但也可以查看current_user_can()
docs:
虽然部分支持使用特定角色代替功能,但不鼓励这种做法,因为它可能会产生不可靠的结果。
您始终可以编写自己的函数包装器或帮助器,以使功能检查更易于使用。