تحديث مستوى العضوية باستخدام pmpro و wp-discourse

هذه هي الدالة نفسها التي يستخدمها [Simon Cossar] (https://meta.discourse.org/u/Simon_Cossar)team راجع هذا الرابط

Manage group membership in Discourse with WP Discourse SSO

لقد استخدمت نفس الدالة، أحتاج إلى مساعدة. لقد نشرت الكود أيضًا، راجع الرسالة أعلاه.
هذا هو كود تحديث مستوى العضوية الخاص بي:
function action_pmpro_after_change_membership_level( $level_id, $user_id, $cancel_level ) {

	$group_name = dcpmp_get_level_for_id( $level_id );
	if ( is_wp_error( $group_name ) ) {

		return null;
	}
	$groupname = DiscourseUtilities::get_discourse_user( $user_id, false );

	// إزالة المستخدم.
    $result = DiscourseUtilities::remove_user_from_discourse_group( $user_id, $groupname );
    if ( ! empty( $result->success ) ) {
       // إزالة مفتاح بيانات العضوية.
        delete_user_meta( $user_id, "dcpmp_group_{$groupname}" );
    }
    
    $result1 = DiscourseUtilities::add_user_to_discourse_group( $user_id, $group_name );

    if ( ! empty( $result1->success ) ) {

        // إذا تمت إضافة المستخدم إلى المجموعة، أضف زوجًا من المفتاح/القيمة يمكن استخدامه لاحقًا.
        add_user_meta( $user_id, "dcpmp_group_{$group_name}", 1, true );
    }

return $result;
return $result1;

}
add_action( ‘pmpro_after_change_membership_level’, ‘action_pmpro_after_change_membership_level’, 10, 3 );