Пример #1
0
 /**
  * @group bp_core_sort_nav_items
  */
 public function test_bp_core_sort_nav_items()
 {
     $bp_nav = buddypress()->bp_nav;
     $u = $this->factory->user->create();
     $old_current_user = get_current_user_id();
     $this->set_current_user($u);
     $this->go_to(bp_core_get_user_domain($u));
     bp_core_new_nav_item(array('name' => 'Foo', 'slug' => 'foo', 'position' => 25, 'screen_function' => 'foo_screen_function', 'default_subnav_slug' => 'foo-sub'));
     $expected = array('name' => 'Foo', 'slug' => 'foo', 'link' => trailingslashit(bp_core_get_user_domain($u) . 'foo'), 'css_id' => 'foo', 'show_for_displayed_user' => true, 'position' => 25, 'screen_function' => 'foo_screen_function', 'default_subnav_slug' => 'foo-sub');
     bp_core_sort_nav_items();
     $this->assertSame(buddypress()->bp_nav[25], $expected);
     // Clean up
     buddypress()->bp_nav = $bp_nav;
     $this->set_current_user($old_current_user);
 }
Пример #2
0
function bp_adminbar_account_menu()
{
    global $bp;
    if (!$bp->bp_nav) {
        return false;
    }
    /* Sort the nav by key as the array has been put together in different locations */
    $bp->bp_nav = bp_core_sort_nav_items($bp->bp_nav);
    if (is_user_logged_in()) {
        echo '<li id="bp-adminbar-account-menu"><a href="">';
        echo __('Mi cuenta', 'buddypress') . '</a>';
        echo '<ul>';
        /* Loop through each navigation item */
        $counter = 0;
        foreach ($bp->bp_nav as $nav_item) {
            $alt = 0 == $counter % 2 ? ' class="alt"' : '';
            echo '<li' . $alt . '>';
            echo '<a id="bp-admin-' . $nav_item['css_id'] . '" href="' . $nav_item['link'] . '">' . $nav_item['name'] . '</a>';
            if (is_array($bp->bp_options_nav[$nav_item['css_id']])) {
                echo '<ul>';
                $sub_counter = 0;
                foreach ($bp->bp_options_nav[$nav_item['css_id']] as $subnav_item) {
                    $alt = 0 == $sub_counter % 2 ? ' class="alt"' : '';
                    echo '<li' . $alt . '><a id="bp-admin-' . $subnav_item['css_id'] . '" href="' . $subnav_item['link'] . '">' . $subnav_item['name'] . '</a></li>';
                    $sub_counter++;
                }
                echo '</ul>';
            }
            echo '</li>';
            $counter++;
        }
        $alt = 0 == $counter % 2 ? ' class="alt"' : '';
        if (function_exists('wp_logout_url')) {
            echo '<li' . $alt . '><a id="bp-admin-logout" href="' . wp_logout_url(site_url()) . '">' . __('Irse', 'buddypress') . '</a></li>';
        } else {
            echo '<li' . $alt . '><a id="bp-admin-logout" href="' . site_url() . '/wp-login.php?action=logout&amp;redirect_to=' . site_url() . '">' . __('Irse', 'buddypress') . '</a></li>';
        }
        echo '</ul>';
        echo '</li>';
    }
}
/**
 * bp_get_user_nav()
 * TEMPLATE TAG
 *
 * Uses the $bp->bp_users_nav global to render out the user navigation when viewing another user other than
 * yourself.
 *
 * @package BuddyPress Core
 * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
 */
function bp_get_user_nav()
{
    global $bp;
    /* Sort the nav by key as the array has been put together in different locations */
    $bp->bp_users_nav = bp_core_sort_nav_items($bp->bp_users_nav);
    foreach ($bp->bp_users_nav as $user_nav_item) {
        if ($bp->current_component == $user_nav_item['css_id']) {
            $selected = ' class="current"';
        } else {
            $selected = '';
        }
        echo '<li' . $selected . '><a id="user-' . $user_nav_item['css_id'] . '" href="' . $user_nav_item['link'] . '">' . $user_nav_item['name'] . '</a></li>';
    }
}