Customize user tabs in member's area
Let's say you want to add a tab to the member's area and remove the Add/Renew tab.
Add this code to site.php file:
Add a single tab
Section titled “Add a single tab”Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $user = $event->getUser(); $menu = $event->getMenu();
$menu->addPage(array( 'id' => 'mypage', 'label' => ___('Do The Thing'), 'uri' => '/the.thing', 'order' => 2, ));});Add a tab with subitems
Section titled “Add a tab with subitems”Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $user = $event->getUser(); $menu = $event->getMenu();
$menu->addPage( array( 'id' => 'with-subitem', 'label' => 'With Subitems', 'uri' => '#', 'pages' => array( array( 'id' => 'subitem1', 'label' => 'Subitem 1', 'uri' => '/subitem-1' ), array( 'id' => 'subitem2', 'label' => 'Subitem 2', 'uri' => '/subitem-2' ) ) ) );});Remove the default Add/Renew tab
Section titled “Remove the default Add/Renew tab”Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $user = $event->getUser(); $menu = $event->getMenu();
if ($page = $menu->findOneById('add-renew-default')) { $menu->removePage($page); }});For a custom member signup form, replace default with the form code. For
example, a form with the code renew uses the menu ID add-renew-renew.
Remove a subitem from a tab
Section titled “Remove a subitem from a tab”Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $menu = $event->getMenu();
if (($item = $menu->findOneById('aff')) && ($subitem = $item->findOneById('aff-payout'))) { $item->removePage($subitem); }});Add a subitem to an existing tab
Section titled “Add a subitem to an existing tab”Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $user = $event->getUser(); $menu = $event->getMenu();
if ($page = $menu->findOneById('aff')) { $page->addPage(array( 'id' => 'my-subitem', 'label' => ___('Subitem'), 'uri' => '/sub.item', 'target' => '_blank', // You can set the target attribute if necessary 'order' => 10, )); }});Add a tab based on product access
Section titled “Add a tab based on product access”This example adds a tab if the user has an active subscription to product ID 1.
Am_Di::getInstance()->hook->add(Am_Event::USER_MENU, function (Am_Event $event) { $menu = $event->getMenu();
/** @var User|null $user */ $user = $event->getUser(); if ($user && in_array(1, $user->getActiveProductIds())) { $menu->addPage(array( 'id' => 'mypage', 'label' => ___('Do The Thing'), 'uri' => '/the.thing', 'order' => 2, )); }});Copyright © 2002–2026 www.amember.com. All Rights Reserved.