WordPress.org

Make WordPress Core

Changeset 32764


Ignore:
Timestamp:
06/14/2015 05:36:21 PM (6 years ago)
Author:
ocean90
Message:

Nav menus: Introduce a wp_get_nav_menu_object filter in wp_get_nav_menu_object() to filter the retrieved nav_menu term.

props westonruter.
fixes #32629.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/nav-menu.php

    r32762 r32764  
    1717 */
    1818function wp_get_nav_menu_object( $menu ) {
    19     if ( ! $menu )
    20         return false;
    21 
    22     $menu_obj = get_term( $menu, 'nav_menu' );
    23 
    24     if ( ! $menu_obj )
    25         $menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
    26 
    27     if ( ! $menu_obj )
    28         $menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
    29 
    30     if ( ! $menu_obj )
     19    $menu_obj = false;
     20    if ( $menu ) {
     21        $menu_obj = get_term( $menu, 'nav_menu' );
     22
     23        if ( ! $menu_obj ) {
     24            $menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
     25        }
     26
     27        if ( ! $menu_obj ) {
     28            $menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
     29        }
     30    }
     31
     32    if ( ! $menu_obj || is_wp_error( $menu_obj ) ) {
    3133        $menu_obj = false;
    32 
    33     return $menu_obj;
     34    }
     35
     36    /**
     37     * Filter the nav_menu term retrieved for wp_get_nav_menu_object().
     38     *
     39     * @since 4.3.0
     40     *
     41     * @param object|false $menu_obj  Term from nav_menu taxonomy, or false if nothing had been found.
     42     * @param string       $menu      The menu ID, slug, or name passed to wp_get_nav_menu_object().
     43     */
     44    return apply_filters( 'wp_get_nav_menu_object', $menu_obj, $menu );
    3445}
    3546
Note: See TracChangeset for help on using the changeset viewer.