diff --git a/src/wp-includes/class-wp-customize-nav-menus.php b/src/wp-includes/class-wp-customize-nav-menus.php index 7fbbda8b4a..eec35ee7c6 100644 --- a/src/wp-includes/class-wp-customize-nav-menus.php +++ b/src/wp-includes/class-wp-customize-nav-menus.php @@ -753,17 +753,17 @@ final class WP_Customize_Nav_Menus { $args['instance_number'] = $this->preview_nav_menu_instance_number; $can_partial_refresh = ( - $args['echo'] + ! empty( $args['echo'] ) && - is_string( $args['fallback_cb'] ) + ( empty( $args['fallback_cb'] ) || is_string( $args['fallback_cb'] ) ) && - is_string( $args['walker'] ) + ( empty( $args['walker'] ) || is_string( $args['walker'] ) ) ); $args['can_partial_refresh'] = $can_partial_refresh; if ( ! $can_partial_refresh ) { - unset( $args['fallback_cb'] ); - unset( $args['walker'] ); + $args['fallback_cb'] = ''; + $args['walker'] = ''; } ksort( $args ); diff --git a/src/wp-includes/nav-menu-template.php b/src/wp-includes/nav-menu-template.php index 2bd37a106d..3a4192c762 100644 --- a/src/wp-includes/nav-menu-template.php +++ b/src/wp-includes/nav-menu-template.php @@ -308,7 +308,7 @@ function wp_nav_menu( $args = array() ) { * - Otherwise, bail. */ if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) ) - && $args->fallback_cb && is_callable( $args->fallback_cb ) ) + && isset( $args->fallback_cb ) && $args->fallback_cb && is_callable( $args->fallback_cb ) ) return call_user_func( $args->fallback_cb, (array) $args ); if ( ! $menu || is_wp_error( $menu ) )