function pmpro_admin_bar_menu() { global $wp_admin_bar; //view menu at all? if (!current_user_can('pmpro_memberships_menu') || !is_admin_bar_showing()) { return; } //array of all caps in the menu $pmpro_caps = pmpro_getPMProCaps(); //the top level menu links to the first page they have access to foreach ($pmpro_caps as $cap) { if (current_user_can($cap)) { $top_menu_page = str_replace("_", "-", $cap); break; } } $wp_admin_bar->add_menu(array('id' => 'paid-memberships-pro', 'title' => __('Memberships', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=' . $top_menu_page))); if (current_user_can('pmpro_membershiplevels')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-membership-levels', 'parent' => 'paid-memberships-pro', 'title' => __('Membership Levels', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-membershiplevels'))); } if (current_user_can('pmpro_pagesettings')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-page-settings', 'parent' => 'paid-memberships-pro', 'title' => __('Page Settings', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-pagesettings'))); } if (current_user_can('pmpro_paymentsettings')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-payment-settings', 'parent' => 'paid-memberships-pro', 'title' => __('Payment Settings', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-paymentsettings'))); } if (current_user_can('pmpro_emailsettings')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-email-settings', 'parent' => 'paid-memberships-pro', 'title' => __('Email Settings', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-emailsettings'))); } if (current_user_can('pmpro_advancedsettings')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-advanced-settings', 'parent' => 'paid-memberships-pro', 'title' => __('Advanced Settings', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-advancedsettings'))); } if (current_user_can('pmpro_addons')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-addons', 'parent' => 'paid-memberships-pro', 'title' => __('Add Ons', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-addons'))); } if (current_user_can('pmpro_memberslist')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-members-list', 'parent' => 'paid-memberships-pro', 'title' => __('Members List', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-memberslist'))); } if (current_user_can('pmpro_reports')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-reports', 'parent' => 'paid-memberships-pro', 'title' => __('Reports', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-reports'))); } if (current_user_can('pmpro_orders')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-orders', 'parent' => 'paid-memberships-pro', 'title' => __('Orders', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-orders'))); } if (current_user_can('pmpro_discountcodes')) { $wp_admin_bar->add_menu(array('id' => 'pmpro-discount-codes', 'parent' => 'paid-memberships-pro', 'title' => __('Discount Codes', 'pmpro'), 'href' => get_admin_url(NULL, '/admin.php?page=pmpro-discountcodes'))); } }
function pmpro_add_action_links($links) { //array of all caps in the menu $pmpro_caps = pmpro_getPMProCaps(); //the top level menu links to the first page they have access to foreach ($pmpro_caps as $cap) { if (current_user_can($cap)) { $top_menu_page = str_replace("_", "-", $cap); break; } } $new_links = array('<a href="' . get_admin_url(NULL, 'admin.php?page=' . $top_menu_page) . '">Settings</a>'); return array_merge($new_links, $links); }