Skip to content

Instantly share code, notes, and snippets.

@noameppel
Last active June 5, 2017 04:38
Show Gist options
  • Select an option

  • Save noameppel/1703b23ac6c9a3d262b3b4909c1c7fa4 to your computer and use it in GitHub Desktop.

Select an option

Save noameppel/1703b23ac6c9a3d262b3b4909c1c7fa4 to your computer and use it in GitHub Desktop.
MemberPress Add/Remove Roles
<?php
/*
* [csnnaa_remove_additional_roles]
* Remove additional role when transaction is created/edited/expires
*/
function csnnaa_remove_additional_roles($roles, $wp_user)
{
$mepr_user = new MeprUser($wp_user->ID);
$active = $mepr_user->active_product_subscriptions('ids');
if(!in_array(10822, $active, false)) { // id of Vital MemberPress Membership
// User IS NOT an active member of Vital membership
// Remove profile role since only active Vital members can have profile roles
$roles[] = 'profile';
} elseif (in_array(10822, $active, false)) { // id of Vital MemberPress Membership
// User IS an active member of Vital membership
// Remove default inactive role since the user has an active Vital membership
$roles[] = 'inactive';
}
return $roles;
}
add_filter('mepr-userroles-remove-roles', 'csnnaa_remove_additional_roles', 11, 2);
/*
* [csnnaa_add_additional_roles]
* Add additional role when transaction is created/edited/expires
*/
function csnnaa_add_additional_roles($roles, $wp_user)
{
$mepr_user = new MeprUser($wp_user->ID);
$active = $mepr_user->active_product_subscriptions('ids');
if(!in_array(10822, $active, false)) { // id of Vital MemberPress Membership
// User IS NOT an active member of Vital membership
// Add default inactive role since the user does not have an active Vital membership
$roles[] = 'inactive';
}
return $roles;
}
add_filter('mepr-userroles-add-roles', 'csnnaa_add_additional_roles', 11, 2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment