Skip to content

Instantly share code, notes, and snippets.

@cartpauj
Last active January 1, 2024 05:55
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save cartpauj/9a8e0edde649d6fb3197508bc7b14313 to your computer and use it in GitHub Desktop.
Save cartpauj/9a8e0edde649d6fb3197508bc7b14313 to your computer and use it in GitHub Desktop.
Get all sub-accounts for a parent user in MemberPress Corporate Accounts
<?php
$user = MeprUtils::get_currentuserinfo();
$sub_user_ids = array();
if($user !== false) {
$transactions = $user->active_product_subscriptions('transactions');
if(!empty($transactions)) {
foreach($transactions as $txn) {
if(($sub = $txn->subscription()) !== false) {
//Recurring subscription
$ca = MPCA_Corporate_Account::find_corporate_account_by_obj_id($sub->id, 'subscriptions');
}
else {
//Non Recurring subscription
$ca = MPCA_Corporate_Account::find_corporate_account_by_obj_id($txn->id, 'transactions');
}
if(!empty($ca) && isset($ca->id) && !empty($ca->id)) {
$sub_users = $ca->sub_users();
foreach($sub_users as $user) {
$sub_user_ids[] = $user->ID;
}
}
}
$sub_user_ids = array_unique($sub_user_ids);
}
}
if(!empty($sub_user_ids)) {
echo '<h2>Your Sub Account Users</h2><ul>';
foreach($sub_user_ids as $user_id) {
$user = new MeprUser($user_id);
echo '<li>' . $user->user_login . '</li>';
}
echo '</ul>';
}
@renatofrias26
Copy link

Hey mate, that is great. Thanks for sharing.
How hard would if be to adapt that to add a custom Role for each sub account? Basically I would like to have different capabilities for corp account vs sub account.
Cheers!

@upsited
Copy link

upsited commented Oct 26, 2021

@renatofrias26 I am trying to set a different role for sub accounts as well. Have you found a solution for this?

@mrkarstrom
Copy link

Hey mate, that is great. Thanks for sharing. How hard would if be to adapt that to add a custom Role for each sub account? Basically I would like to have different capabilities for corp account vs sub account. Cheers!

There is a Wordpress plugin for this called Members: https://memberpress.com/plugins/members

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment