我正在尝试根据他的活跃会员计划更改用户角色。下面的代码没有启动,或者我这里的钩子有误。会员是在 Woocommerce 会员仪表板上手动添加的。Woocommerce > 会员资格 > 添加会员 > 选择一个计划 > 保存会员资格。在下拉菜单中选择计划后,它还应该分配给我创建的特定自定义用户角色。
银牌 (slug -silver) - 活跃会员计划
silver-user - 自定义用户角色
function memberships_update_user_role_with_membership( $user_membership, $old_status, $new_status ) {
$user_id = $user_membership->get_user_id();
$wp_user = get_userdata( $user_id );
$roles = $wp_user->roles;
if (wc_memberships_is_user_active_member($user_id, 'silver')) {
return;
}
$wp_user->remove_role( 'customer' );
$wp_user->add_role( 'silver-user' );
}
add_action( 'wc_memberships_user_membership_status_changed', 'memberships_update_user_role_with_membership', 10, 3 );