wp_get_current_user()
返回用户对象。不能直接输出对象。
继续获取用户角色,如$roles = (array)$user->roles;
. 请注意,这将返回一个数组,因此您可能希望将第一个元素用于$roles[0]
.
您的代码可能如下所示(未测试):
function onboarding_update_fields( $fields = array() ) {
$user = wp_get_current_user();
$roles = (array)$user->roles;
$fields[\'customertype\'] = $roles[0];
return $fields;
}
add_filter( \'woocommerce_checkout_fields\', \'onboarding_update_fields\' );
此外,您可能需要检查用户是否已登录,否则可能没有可用的用户和角色。
WordPress代码参考文章:wp_get_current_user, User object.