BP_Settings_Component::setup_nav( array $main_nav = array(), array $sub_nav = array() )
Set up navigation.
Description
Parameters
- $main_nav
-
(Optional) Array of main nav items.
Default value: array()
- $sub_nav
-
(Optional) Array of sub nav items.
Default value: array()
Source
File: bp-settings/classes/class-bp-settings-component.php
public function setup_nav( $main_nav = array(), $sub_nav = array() ) { // 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; } $access = bp_core_can_edit_settings(); $slug = bp_get_settings_slug(); $settings_link = trailingslashit( $user_domain . $slug ); // Add the settings navigation item. $main_nav = array( 'name' => __( 'Account', 'buddyboss' ), 'slug' => $slug, 'position' => 21, 'show_for_displayed_user' => $access, 'screen_function' => 'bp_settings_screen_general', 'default_subnav_slug' => 'general' ); // Add General Settings nav item. $sub_nav[] = array( 'name' => __( 'Login Information', 'buddyboss' ), 'slug' => 'general', 'parent_url' => $settings_link, 'parent_slug' => $slug, 'screen_function' => 'bp_settings_screen_general', 'position' => 10, 'user_has_access' => $access ); // Add Email nav item. Formerly called 'Notifications', we // retain the old slug and function names for backward compat. $sub_nav[] = array( 'name' => __( 'Email Preferences', 'buddyboss' ), 'slug' => 'notifications', 'parent_url' => $settings_link, 'parent_slug' => $slug, 'screen_function' => 'bp_settings_screen_notification', 'position' => 20, 'user_has_access' => $access ); $sub_nav[] = array( 'name' => __( 'Export Data', 'buddyboss' ), 'slug' => 'export', 'parent_url' => $settings_link, 'parent_slug' => $slug, 'screen_function' => 'bp_settings_screen_export_data', 'position' => 80, 'user_has_access' => $access ); // Add Spam Account nav item. if ( bp_current_user_can( 'bp_moderate' ) ) { $sub_nav[] = array( 'name' => __( 'Capabilities', 'buddyboss' ), 'slug' => 'capabilities', 'parent_url' => $settings_link, 'parent_slug' => $slug, 'screen_function' => 'bp_settings_screen_capabilities', 'position' => 80, 'user_has_access' => ! bp_is_my_profile() ); } // Add Delete Account nav item. if ( ( ! bp_disable_account_deletion() && bp_is_my_profile() ) || bp_current_user_can( 'delete_users' ) ) { $sub_nav[] = array( 'name' => __( 'Delete Account', 'buddyboss' ), 'slug' => 'delete-account', 'parent_url' => $settings_link, 'parent_slug' => $slug, 'screen_function' => 'bp_settings_screen_delete_account', 'position' => 90, 'user_has_access' => ! is_super_admin( bp_displayed_user_id() ) ); } parent::setup_nav( $main_nav, $sub_nav ); }
Changelog
Version | Description |
---|---|
BuddyPress 1.5.0 | Introduced. |
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.