Assign a user group based on active products
This example adds a user to a group while the user has an active subscription to any of the configured products.
Add this code to site.php file:
Am_Di::getInstance()->hook->add(Am_Event::SUBSCRIPTION_CHANGED, function (Am_Event_SubscriptionChanged $event) { // Configuration $productIds = [3, 4, 5]; // Product IDs that trigger group assignment $groupId = 11; // User group ID to assign
$user = $event->getUser(); if (array_intersect($productIds, $user->getActiveProductIds())) { $groups = $user->getGroups(); if (!in_array($groupId, $groups)) { $groups[] = $groupId; $user->setGroups($groups); } } else { // Uncomment this block to remove the group when none of the // configured products are active. // $groups = $user->getGroups(); // if (in_array($groupId, $groups)) { // array_remove_value($groups, $groupId); // $user->setGroups($groups); // } }});Copyright © 2002–2026 www.amember.com. All Rights Reserved.