WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menu_object()
Filters the wp_get_nav_menu_object() result to supply the previewed menu object.
Requesting a nav_menu object by anything but ID is not supported.
Method of the class: WP_Customize_Nav_Menu_Setting{}
No Hooks.
Return
Object|null
.
Usage
$WP_Customize_Nav_Menu_Setting = new WP_Customize_Nav_Menu_Setting(); $WP_Customize_Nav_Menu_Setting->filter_wp_get_nav_menu_object( $menu_obj, $menu_id );
- $menu_obj(object|null) (required)
- Object returned by wp_get_nav_menu_object().
- $menu_id(string) (required)
- ID of the nav_menu term. Requests by slug or name will be ignored.
Notes
Changelog
Since 4.3.0 | Introduced. |
WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menu_object() WP Customize Nav Menu Setting::filter wp get nav menu object code WP 6.6.2
public function filter_wp_get_nav_menu_object( $menu_obj, $menu_id ) { $ok = ( get_current_blog_id() === $this->_previewed_blog_id && is_int( $menu_id ) && $menu_id === $this->term_id ); if ( ! $ok ) { return $menu_obj; } $setting_value = $this->value(); // Handle deleted menus. if ( false === $setting_value ) { return false; } // Handle sanitization failure by preventing short-circuiting. if ( null === $setting_value ) { return $menu_obj; } $menu_obj = (object) array_merge( array( 'term_id' => $this->term_id, 'term_taxonomy_id' => $this->term_id, 'slug' => sanitize_title( $setting_value['name'] ), 'count' => 0, 'term_group' => 0, 'taxonomy' => self::TAXONOMY, 'filter' => 'raw', ), $setting_value ); return $menu_obj; }