Beispiel #1
0
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);
}