From bedef71388e054a77a059a91c74ebb798a624099 Mon Sep 17 00:00:00 2001
From: jrfnl <jrfnl@users.noreply.github.com>
Date: Mon, 15 Jul 2019 00:29:32 +0200
Subject: [PATCH] PHP 7.4/array-access: Fix
 WP_Customize_Nav_Menu_Item_Setting::filter_wp_get_nav_menu_items()

---
 .../class-wp-customize-nav-menu-item-setting.php         | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php b/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
index bccf1d9388..5f66023b43 100644
--- a/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
+++ b/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
@@ -477,8 +477,11 @@ class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
 	 */
 	public function filter_wp_get_nav_menu_items( $items, $menu, $args ) {
 		$this_item                = $this->value();
-		$current_nav_menu_term_id = $this_item['nav_menu_term_id'];
-		unset( $this_item['nav_menu_term_id'] );
+		$current_nav_menu_term_id = null;
+		if ( isset( $this_item['nav_menu_term_id'] ) ) {
+			$current_nav_menu_term_id = $this_item['nav_menu_term_id'];
+			unset( $this_item['nav_menu_term_id'] );
+		}
 
 		$should_filter = (
 			$menu->term_id === $this->original_nav_menu_term_id
@@ -493,7 +496,7 @@ class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
 		$should_remove = (
 			false === $this_item
 			||
-			true === $this_item['_invalid']
+			( isset( $this_item['_invalid'] ) && true === $this_item['_invalid'] )
 			||
 			(
 				$this->original_nav_menu_term_id === $menu->term_id
-- 
2.21.0.windows.1

