public function add_activity_nav() { $bp = buddypress(); if (!bp_is_user() || !is_user_logged_in() || !bp_is_my_profile()) { return; } $activity_link = bp_core_get_user_domain(bp_loggedin_user_id()) . $bp->activity->slug . '/'; //add to user activity subnav if it is logged in users profile bp_core_new_subnav_item(array('name' => __('News Feed', 'fb-like-activity-stream'), 'slug' => MYSTREAM_ACTIVITY_SLUG, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => array($this, 'activity_screen'), 'position' => 2, 'user_has_access' => bp_is_my_profile())); //bp_core_new_nav_default(array('parent_slug'=>$bp->activity->slug,'subnav_slug'=>MYSTREAM_ACTIVITY_SLUG,'screen_function'=>array($this,'activity_screen'))); bp_core_remove_subnav_item('activity', 'just-me'); $sub_nav = array('name' => __('My Posts', 'buddypress'), 'slug' => 'personal', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_my_activity', 'position' => 10); bp_core_new_subnav_item($sub_nav); }
public function test_backcompat_remove_group_nav_items() { $g1 = $this->factory->group->create(); // In group context $g_obj = groups_get_group($g1); $this->go_to(bp_get_group_permalink($g_obj)); bp_core_new_subnav_item(array('name' => 'Clam', 'slug' => 'clam', 'parent_slug' => bp_get_current_group_slug(), 'parent_url' => bp_get_group_permalink($g_obj), 'screen_function' => 'clam_subnav')); bp_core_remove_subnav_item($g_obj->slug, 'clam'); $nav = bp_get_nav_menu_items('groups'); $found = false; foreach ($nav as $_nav) { if ('clam' === $_nav->css_id) { $found = true; break; } } $this->assertFalse($found); }
/** * bp_core_remove_nav_item() * * Removes a navigation item from the sub navigation array used in BuddyPress themes. * * @package BuddyPress Core * @param $parent_id The id of the parent navigation item. * @param $slug The slug of the sub navigation item. */ function bp_core_remove_nav_item( $parent_id ) { global $bp; /* Unset subnav items for this nav item */ if ( is_array( $bp->bp_options_nav[$parent_id] ) ) { foreach( (array)$bp->bp_options_nav[$parent_id] as $subnav_item ) { bp_core_remove_subnav_item( $parent_id, $subnav_item['slug'] ); } } unset( $bp->bp_nav[$parent_id] ); }
function navigation() { global $bp; // Main navigation $bp->bp_nav['profile']['position'] = 10; $bp->bp_nav['activity']['position'] = 20; $bp->bp_nav['forums']['position'] = 30; $bp->bp_nav['friends']['position'] = 40; $bp->bp_nav['groups']['position'] = 50; $bp->bp_nav['messages']['position'] = 60; $bp->bp_nav['notifications']['position'] = 70; $bp->bp_nav['settings']['position'] = 90; // Profile biography $bp->bp_options_nav['profile']['public']['name'] = 'Player Biography'; $bp->bp_options_nav['profile']['change-avatar']['name'] = 'Change Avatar'; $bp->bp_options_nav['profile']['change-avatar']['link'] = $bp->displayed_user->domain . 'profile/change-avatar'; if (!bp_is_my_profile() && !current_user_can('edit_users')) { $bp->bp_options_nav['profile']['change-avatar']['user_has_access'] = false; } // Profile activity $bp->bp_options_nav['activity']['just-me']['name'] = 'All Activity'; // Profile forums $bp->bp_options_nav['forums']['replies']['name'] = 'Recent Post Tracker'; if (!current_user_can('moderate_comments')) { $bp->bp_options_nav['forums']['replies']['user_has_access'] = false; } $bp->bp_options_nav['forums']['favorites']['name'] = 'Favorite Topics'; // Profile settings $bp->bp_options_nav['settings']['general']['name'] = 'Edit Account Info'; $bp->bp_options_nav['settings']['notifications']['name'] = 'Notification Preferences'; $bp->bp_options_nav['settings']['profile']['user_has_access'] = false; // Custom edit profile screen bp_core_remove_subnav_item('profile', 'edit'); if (bp_is_my_profile() || current_user_can('edit_users')) { bp_core_new_subnav_item(array('name' => 'Edit Profile', 'slug' => 'edit', 'parent_url' => $bp->displayed_user->domain . $bp->profile->slug . '/', 'parent_slug' => $bp->profile->slug, 'screen_function' => array($this, 'edit_profile_screen'), 'position' => 20)); } // Remove activity favorites, because they are dumb bp_core_remove_subnav_item('activity', 'favorites'); // Add moderation and infraction management panel if (bp_is_user() && (bp_is_my_profile() || current_user_can('moderate'))) { // Get the user object global $user; $user = new Apoc_User(bp_displayed_user_id(), 'profile'); $level = $user->warnings['level']; $level = $level > 0 ? '<span class="activity-count">' . $level . '</span>' : ''; $notes = $user->mod_notes['count']; $notes = $notes > 0 ? '<span class="activity-count">' . $notes . '</span>' : ''; bp_core_new_nav_item(array('name' => 'Infractions' . $level, 'slug' => 'infractions', 'position' => 80, 'screen_function' => array($this, 'infractions_screen'), 'default_subnav_slug' => 'status', 'item_css_id' => 'infractions')); // Add infraction overview screen bp_core_new_subnav_item(array('name' => 'History' . $level, 'slug' => 'status', 'parent_url' => $bp->displayed_user->domain . 'infractions/', 'parent_slug' => 'infractions', 'screen_function' => array($this, 'infractions_screen'), 'position' => 10)); // Add send warning screen if (current_user_can('moderate')) { bp_core_new_subnav_item(array('name' => 'Issue Warning', 'slug' => 'issue', 'parent_url' => $bp->displayed_user->domain . 'infractions/', 'parent_slug' => 'infractions', 'screen_function' => array($this, 'warning_screen'), 'position' => 30)); // Add moderator notes screen bp_core_new_subnav_item(array('name' => 'Mod Notes' . $notes, 'slug' => 'notes', 'parent_url' => $bp->displayed_user->domain . 'infractions/', 'parent_slug' => 'infractions', 'screen_function' => array($this, 'modnotes_screen'), 'position' => 20)); } } // Group profile navigation if (bp_is_group()) { $group_id = bp_get_current_group_id(); // Add activity tab bp_core_new_subnav_item(array('name' => 'Activity', 'slug' => 'activity', 'parent_slug' => $bp->groups->current_group->slug, 'parent_url' => bp_get_group_permalink($bp->groups->current_group), 'screen_function' => array($this, 'group_activity_screen'), 'position' => 65)); // Rename group navigation elements $bp->bp_options_nav[$bp->groups->current_group->slug]['admin']['name'] = 'Admin'; } }
/** * Hide Compose menu from pending users. * * @since 4.2.3 */ function bp_registration_options_remove_compose_message() { if (true === bp_registration_get_moderation_status(get_current_user_id())) { bp_core_remove_subnav_item('messages', 'compose'); } }
/** * REMOVE TABS FROM PROFILE HEADER * * @since BuddyBoss 1.5 */ function bbg_remove_activity_friends_subnav() { global $bp; bp_core_remove_subnav_item('activity', 'friends'); bp_core_remove_subnav_item('activity', 'mentions'); bp_core_remove_subnav_item('activity', 'groups'); if (!bp_is_my_profile()) { bp_core_remove_subnav_item('activity', 'favorites'); } }
function mb_profile_menu_tabs() { global $bp; $bp->bp_nav['notifications']['position'] = 50; $bp->bp_nav['messages']['position'] = 30; $bp->bp_nav['activity'] = false; $bp->bp_nav['groups'] = false; $bp->bp_nav['settings'] = false; $bp->bp_nav['followers'] = false; $bp->bp_nav['friends'] = false; $bp->bp_nav['following']['name'] = 'Избранное'; $bp->bp_nav['profile']['public']['name'] = 'Избранное'; $bp->bp_options_nav['profile']['change-avatar']['name'] = 'Изменить аватар'; $bp->bp_options_nav['profile']['public']['name'] = 'Личные данные'; bp_core_remove_subnav_item('profile', 'edit'); bp_core_new_nav_item(array('name' => 'Стать мастером', 'slug' => 'master', 'position' => 100, 'default_subnav_slug' => 'published', 'screen_function' => 'mb_author_posts')); }
function alt_bp_remove_general() { global $bp; bp_core_remove_subnav_item($bp->settings->slug, 'general'); }
function invite_anyone_remove_invite_subnav() { global $bp; if ($bp->groups->group_creation_steps['group-invites']) { unset($bp->groups->group_creation_steps['group-invites']); } bp_core_remove_subnav_item($bp->groups->slug, 'send-invites'); }
/** * Hide Notification subnav item and menu element and all acces * to notifications settings page if bp_notifications_manager_disabled is yes */ function bp_notifications_manager_subnav() { if (get_option('bp_notifications_manager_disabled') == 'yes') { global $bp; // if current user is not admin //if( !is_site_admin() ){ // this work only for bp 1.6 ( so i use !current_user_can('manage_options') to check if is admin user) if (!current_user_can('manage_options')) { bp_core_remove_subnav_item($bp->settings->slug, 'notifications'); //bp_core_remove_nav_item( $bp->settings->slug, 'notifications' ); // //remove notifcation subnav item and notification link for adminbar //bp_core_remove_subnav_item($bp->settings->slug, 'notifications'); //remove_action( 'bp_adminbar_menus', 'bp_adminbar_notifications_menu', 8 ); // remove notification setting link from wp adminbar if is bp use it if (bp_use_wp_admin_bar()) { $bp->temp_slug = $slug; add_action('wp_before_admin_bar_render', create_function('', 'global $bp, $wp_admin_bar; $wp_admin_bar->remove_menu( "my-account-settings-notifications" );')); } } } }
function invite_anyone_remove_invite_subnav() { global $bp; if (invite_anyone_group_invite_access_test() == 'friends') { return; } if (isset($bp->groups->group_creation_steps['group-invites'])) { unset($bp->groups->group_creation_steps['group-invites']); } // BP 1.5 / BP 1.2 $parent_slug = isset($bp->groups->root_slug) && isset($bp->groups->current_group->slug) ? $bp->groups->current_group->slug : $bp->groups->slug; bp_core_remove_subnav_item($parent_slug, 'send-invites'); }
/** * Modify the user nav before it gets rendered, so we remove redundant items */ function thatcamp_mod_user_nav() { global $bp; if (bp_is_active('xprofile')) { $bp->bp_nav['profile']['name'] = 'About'; $bp->bp_nav['profile']['position'] = 5; } if (bp_is_active('activity')) { bp_core_remove_subnav_item('activity', 'mentions'); bp_core_remove_subnav_item('activity', 'favorites'); bp_core_remove_subnav_item('activity', 'friends'); bp_core_remove_subnav_item('activity', 'camps'); } if (bp_is_active('blogs')) { bp_core_remove_nav_item('blogs'); } if (bp_is_active('groups')) { bp_core_remove_subnav_item('camps', 'invites'); } /** if ( bp_is_active( 'messages' ) ) { bp_core_remove_nav_item( 'messages' ); } **/ if (bp_is_active('settings') && is_user_logged_in()) { bp_core_remove_nav_item('settings'); } // There's a baffling bug in BuddyPress that makes this necessary // I blame the Buddybar if (is_user_logged_in()) { $activity_base = trailingslashit(bp_displayed_user_domain() . bp_get_activity_slug()); } else { $activity_base = bp_get_activity_slug() . '/'; } $bp->bp_nav['blogs'] = array('name' => 'Blog Posts', 'slug' => 'blogs', 'link' => add_query_arg('a_type', 'blog_posts', $activity_base), 'css_id' => 'blogs', 'show_for_displayed_user' => true, 'position' => 70, 'screen_function' => 'bp_activity_screen_my_activity'); $bp->bp_nav['comments'] = array('name' => 'Blog Comments', 'slug' => 'comments', 'link' => add_query_arg('a_type', 'blog_comments', $activity_base), 'css_id' => 'comments', 'show_for_displayed_user' => true, 'position' => 73, 'screen_function' => 'bp_activity_screen_my_activity'); $bp->bp_nav['forums'] = array('name' => 'Forum Posts', 'slug' => 'forums', 'link' => add_query_arg('a_type', 'forums', $activity_base), 'css_id' => 'forums', 'show_for_displayed_user' => true, 'position' => 90, 'screen_function' => 'bp_activity_screen_my_activity'); $bp->bp_nav['favorites'] = array('name' => 'Favorites', 'slug' => 'favorites', 'link' => add_query_arg('a_type', 'favorites', $activity_base), 'css_id' => 'favorites', 'show_for_displayed_user' => false, 'position' => 100, 'screen_function' => 'bp_activity_screen_my_activity'); $bp->bp_nav[bp_get_groups_slug()]['name'] = str_replace('Groups', 'Camps', $bp->bp_nav[bp_get_groups_slug()]['name']); // Cheating: Put Camps before Friends if (isset($bp->bp_nav[bp_get_groups_slug()])) { $bp->bp_nav[bp_get_groups_slug()]['position'] = 55; } // Correct the Edit My Profile link if (isset($bp->bp_options_nav['profile']['edit'])) { remove_filter('edit_profile_url', 'bp_members_edit_profile_url', 10, 3); $bp->bp_options_nav['profile']['edit']['link'] = get_edit_profile_url(get_current_user_id()); add_filter('edit_profile_url', 'bp_members_edit_profile_url', 10, 3); } }
/** * Removes a navigation item from the sub navigation array used in BuddyPress themes. * * @package BuddyPress Core * @param $parent_id The id of the parent navigation item. * @param $slug The slug of the sub navigation item. */ function bp_core_remove_nav_item($parent_id) { global $bp; // Unset subnav items for this nav item if (isset($bp->bp_options_nav[$parent_id]) && is_array($bp->bp_options_nav[$parent_id])) { foreach ((array) $bp->bp_options_nav[$parent_id] as $subnav_item) { bp_core_remove_subnav_item($parent_id, $subnav_item['slug']); } } if ($function = $bp->bp_nav[$parent_id]['screen_function']) { if (!is_object($function[0])) { remove_action('bp_screens', $function); } else { remove_action('bp_screens', array(&$function[0], $function[1])); } } unset($bp->bp_nav[$parent_id]); }
/** * Removes 'Email' sub nav, if no component has registered options there. * * @since 2.2.0 */ function bp_settings_remove_email_subnav() { if (!has_action('bp_notification_settings')) { bp_core_remove_subnav_item(BP_SETTINGS_SLUG, 'notifications'); } }
/** * Remove a nav item from the navigation array. * * @param int $parent_id The slug of the parent navigation item. * * @return bool Returns false on failure, ie if the nav item can't be found. */ function bp_core_remove_nav_item($parent_id) { $bp = buddypress(); // Unset subnav items for this nav item if (isset($bp->bp_options_nav[$parent_id]) && is_array($bp->bp_options_nav[$parent_id])) { foreach ((array) $bp->bp_options_nav[$parent_id] as $subnav_item) { bp_core_remove_subnav_item($parent_id, $subnav_item['slug']); } } if (empty($bp->bp_nav[$parent_id])) { return false; } if ($function = $bp->bp_nav[$parent_id]['screen_function']) { // Remove our screen hook if screen function is callable if (is_callable($function)) { remove_action('bp_screens', $function, 3); } } unset($bp->bp_nav[$parent_id]); }
function removeTabs() { global $bp; if (isset($bp->bp_nav['activity'])) { unset($bp->bp_nav['activity']); } if (isset($bp->bp_nav['notifications'])) { unset($bp->bp_nav['notifications']); } // var_dump(bp_displayed_user_id()."--".bp_loggedin_user_id()); if (bp_displayed_user_id() != bp_loggedin_user_id()) { if (isset($bp->bp_nav['settings'])) { unset($bp->bp_nav['settings']); } if (isset($bp->bp_nav['mycred-history'])) { unset($bp->bp_nav['mycred-history']); } if (isset($bp->bp_nav['profile'])) { unset($bp->bp_nav['profile']); } // $bp->bp_nav['profile']['name'] = 'Khóa học của'; } bp_core_remove_subnav_item('settings', 'delete-account'); }
function uni_avatar_bp_remove_nav_item() { global $bp; bp_core_remove_subnav_item($bp->profile->slug, 'change-avatar'); }
function kleo_remove_general_settings() { bp_core_remove_subnav_item('settings', 'general'); }
function bpes_remove_xprofile_tabs() { global $bp; if (get_option('forums-tab-remove') == true) { bp_core_remove_nav_item('forums'); } if (get_option('activity-tab-remove') == true) { bp_core_remove_nav_item('activity'); } if (get_option('groups-tab-remove') == true) { bp_core_remove_nav_item('groups'); } if (get_option('settings-tab-remove') == true) { bp_core_remove_nav_item('settings'); } if (get_option('friends-tab-remove') == true) { bp_core_remove_nav_item('friends'); } if (get_option('messages-tab-remove') == true) { bp_core_remove_nav_item('messages'); } if (get_option('profile-tab-remove') == true) { bp_core_remove_nav_item('profile'); } if (get_option('disable-mentions') == true) { bp_core_remove_subnav_item($bp->activity->slug, 'mentions'); } }