Skip to content

Instantly share code, notes, and snippets.

@jcasabona
Created April 28, 2020 14:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcasabona/5964ae118fe5339c8a55b25fb07c256d to your computer and use it in GitHub Desktop.
Save jcasabona/5964ae118fe5339c8a55b25fb07c256d to your computer and use it in GitHub Desktop.
Update LearnDash Groups based on WooCommerce Membership
<?php
// Update group status when member status changes.
function cc_update_ld_group_from_member_status( $user_membership, $old_status, $new_status ) {
$ld_group_id = LEARNDASH_GROUP_ID;
$user_id = $user_membership->get_user_id();
$wp_user = get_userdata( $user_id );
if ( wc_memberships_is_user_active_member( $user_id, $user_membership->get_plan_id() ) ) {
ld_update_group_access( $user_id, $ld_group_id, false );
} else {
ld_update_group_access( $user_id, $ld_group_id, true );
}
}
add_action( 'wc_memberships_user_membership_status_changed', 'cc_update_ld_group_from_member_status', 10, 3 );
// Add new member to LD group
function cc_add_member_ld_group( $plan, $args ) {
$ld_group_id = LEARNDASH_GROUP_ID;
$plans_with_access = array();
if (! $args['is_update'] && in_array( $plan->slug, $plans_with_access ) ) {
ld_update_group_access( $args['user_id'], $ld_group_id, false );
}
}
add_action( 'wc_memberships_user_membership_created', 'cc_add_member_ld_group', 10, 3 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment