我正在獲取我的用戶角色類型,它作為數組返回,只有 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 關注
- 173 瀏覽
添加回答
舉報
0/150
提交
取消