BP_Core_Nav::edit_nav( array $args = array(), string $slug = '', string $parent_slug = '' )
Edits a nav item.
Description
Parameters
- $args
-
(Optional) The nav item's arguments.
Default value: array()
- $slug
-
(Optional) The slug of the nav item.
Default value: ''
- $parent_slug
-
(Optional) The slug of the parent nav item (required to edit a child).
Default value: ''
Return
Source
File: bp-core/classes/class-bp-core-nav.php
public function edit_nav( $args = array(), $slug = '', $parent_slug = '' ) { if ( empty( $slug ) ) { return false; } // We're editing a parent! if ( empty( $parent_slug ) ) { $nav_items = $this->get_primary( array( 'slug' => $slug ), false ); if ( ! $nav_items ) { return false; } $nav_item = reset( $nav_items ); $this->nav[ $this->object_id ][ $slug ] = new BP_Core_Nav_Item( wp_parse_args( $args, (array) $nav_item ) ); // Return the edited object. return $this->nav[ $this->object_id ][ $slug ]; // We're editing a child. } else { $sub_items = $this->get_secondary( array( 'parent_slug' => $parent_slug, 'slug' => $slug ), false ); if ( ! $sub_items ) { return false; } $sub_item = reset( $sub_items ); $params = wp_parse_args( $args, (array) $sub_item ); // When we have parents, it's for life, we can't change them! if ( empty( $params['parent_slug'] ) || $parent_slug !== $params['parent_slug'] ) { return false; } $this->nav[ $this->object_id ][ $parent_slug . '/' . $slug ] = new BP_Core_Nav_Item( $params ); // Return the edited object. return $this->nav[ $this->object_id ][ $parent_slug . '/' . $slug ]; } }
Changelog
Version | Description |
---|---|
BuddyPress 2.6.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.