TamZam
TamZam

Reputation: 69

Buddypress Selected first subnav

I have a new nav and two subnavs. They are working properly but I want to have the first subnav selected when I click in the nav item, because I don´t want to have two differents content inhalt.

The name of the new nav is: 'Jobs' and the names of the two subnavs are: 'All Jobs' and 'Add new Job'. I want that wenn I click in 'Jobs' i have the list of all Jobs, then 'All Jobs' would be clicked. Buddypress make the same in for example the tab 'Profile' and the first subnav.

My code:

function profile_tab_jobs() {
    global $bp;

    bp_core_new_nav_item( array(
        'name'                => 'Jobs',
        'slug'                => 'jobs',
        'screen_function'     => 'jobs_screen',
        'position'            => 40,
        'parent_url'          => bp_loggedin_user_domain() . '/jobs/',
        'parent_slug'         => $bp->profile->slug,
        'default_subnav_slug' => 'jobs_subnav',
    ) );

    bp_core_new_subnav_item( array(
        'name'              => 'All Jobs',
        'slug'              => 'all_jobs',
        'parent_url'        => trailingslashit( bp_displayed_user_domain() . 'jobs' ),
        'parent_slug'       => 'jobs',
        'screen_function'   => 'all_job_screen',
        'position'          => 100,
        'user_has_access'   => bp_is_my_profile()
    ) );

    bp_core_new_subnav_item( array(
        'name'              => 'Add new Job',
        'slug'              => 'new_job',
        'parent_url'        => trailingslashit( bp_displayed_user_domain() . 'jobs' ),
        'parent_slug'       => 'jobs',
        'screen_function'   => 'add_job_screen',
        'position'          => 110,
        'user_has_access'   => bp_is_my_profile()
    ) );

}
add_action( 'bp_setup_nav', 'profile_tab_jobs' );

WordPress 4.8.2

Thank you 🙂

Upvotes: 0

Views: 451

Answers (1)

TamZam
TamZam

Reputation: 69

I find a solution. I change the value 'default_subnav_slug' in bp_core_new_nav_item (subnav slug).

function profile_tab_jobs() {
    global $bp;

    bp_core_new_nav_item( array(
        'name'                 => 'Jobs',
        'slug'                 => 'jobs',
        'screen_function'      => 'jobs_screen',
        'position'             => 40,
        'parent_url'           => bp_loggedin_user_domain() . '/jobs/',
        'parent_slug'          => $bp->profile->slug,
        'default_subnav_slug'  => 'all_jobs',
    ) );

    bp_core_new_subnav_item( array(
        'name'              => 'All Jobs',
        'slug'              => 'all_jobs',
        'parent_url'        => trailingslashit( bp_displayed_user_domain() . 'jobs' ),
        'parent_slug'       => 'jobs',
        'screen_function'   => 'jobs_screen',
        'position'          => 100,
        'user_has_access'   => bp_is_my_profile()
    ) );

    bp_core_new_subnav_item( array(
        'name'              => 'Add new Job',
        'slug'              => 'new_job',
        'parent_url'        => trailingslashit( bp_displayed_user_domain() . 'jobs' ),
        'parent_slug'       => 'jobs',
        'screen_function'   => 'add_job_screen',
        'position'          => 110,
        'user_has_access'   => bp_is_my_profile()
    ) );

}
add_action( 'bp_setup_nav', 'profile_tab_jobs' );

Upvotes: 0

Related Questions