我正在获取我的用户角色类型,它作为数组返回,只有 1 个项目 - 不过没问题。$user_roles = $user_meta->roles;array (size=1) 0 => string 'seller' (length=6)总是有两个潜在的值:seller和vendor。我正在检查两者,但总是返回错误。我认为这个 in_array 没有任何问题。if ( in_array( array( 'seller', 'vendor' ), $user_roles ) ) { return true; }我通过放置 die(); 进行了测试。在上面的条件里面不运行,所以出于某种原因它不认为“卖方”匹配数组项。完整代码:function is_vendor( $user_id ) { $user_meta = get_userdata( $user_id ); $user_roles = $user_meta->roles; if ( in_array( array( 'seller', 'vendor' ), $user_roles ) ) { return true; } return false;}
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
你的in_array用法不对,应该是:
if (in_array($user_roles[0], array( 'seller', 'vendor' ))) {
echo 'Is on array';
return true;
}
$user_roles 也是一个包含一个元素的数组,因此您还必须传递位置。
见in_array()
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消