BP_Blogs_Component::setup_nav( array $main_nav = array(), array $sub_nav = array() )
Set up component navigation for bp-blogs.
Description
See also
- BP_Component::setup_nav(): for a description of arguments.
Parameters
- $main_nav
-
(Optional) See BP_Component::setup_nav() for description.
Default value: array()
- $sub_nav
-
(Optional) See BP_Component::setup_nav() for description.
Default value: array()
Source
File: bp-blogs/classes/class-bp-blogs-component.php
public function setup_nav( $main_nav = array(), $sub_nav = array() ) { /** * Blog/post/comment menus should not appear on single WordPress setups. * Although comments and posts made by users will still show on their * activity feed. */ if ( ! is_multisite() ) { return false; } // Determine user to use. if ( bp_displayed_user_domain() ) { $user_domain = bp_displayed_user_domain(); } elseif ( bp_loggedin_user_domain() ) { $user_domain = bp_loggedin_user_domain(); } else { return; } $slug = bp_get_blogs_slug(); $parent_url = trailingslashit( $user_domain . $slug ); // Add 'Sites' to the main navigation. $count = (int) bp_get_total_blog_count_for_user(); $class = ( 0 === $count ) ? 'no-count' : 'count'; $nav_text = sprintf( /* translators: %s: Site count for the current user */ __( 'Sites %s', 'buddyboss' ), sprintf( '<span class="%s">%s</span>', esc_attr( $class ), bp_core_number_format( $count ) ) ); $main_nav = array( 'name' => $nav_text, 'slug' => $slug, 'position' => 30, 'screen_function' => 'bp_blogs_screen_my_blogs', 'default_subnav_slug' => 'my-sites', 'item_css_id' => $this->id ); $sub_nav[] = array( 'name' => __( 'My Sites', 'buddyboss' ), 'slug' => 'my-sites', 'parent_url' => $parent_url, 'parent_slug' => $slug, 'screen_function' => 'bp_blogs_screen_my_blogs', 'position' => 10 ); // Setup navigation. parent::setup_nav( $main_nav, $sub_nav ); }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.