--- a/wp/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php Tue Dec 15 15:52:01 2020 +0100
+++ b/wp/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php Wed Sep 21 18:19:35 2022 +0200
@@ -171,7 +171,7 @@
throw new Exception( "Illegal widget setting ID: $id" );
}
- $this->post_id = intval( $matches['id'] );
+ $this->post_id = (int) $matches['id'];
add_action( 'wp_update_nav_menu_item', array( $this, 'flush_cached_value' ), 10, 2 );
parent::__construct( $manager, $id, $args );
@@ -368,7 +368,7 @@
foreach ( array( 'object_id', 'menu_item_parent', 'nav_menu_term_id' ) as $key ) {
if ( ! is_int( $this->value[ $key ] ) ) {
- $this->value[ $key ] = intval( $this->value[ $key ] );
+ $this->value[ $key ] = (int) $this->value[ $key ];
}
}
foreach ( array( 'classes', 'xfn' ) as $key ) {
@@ -605,6 +605,11 @@
$item->post_title = $item->title;
}
+ // 'classes' should be an array, as in wp_setup_nav_menu_item().
+ if ( isset( $item->classes ) && is_scalar( $item->classes ) ) {
+ $item->classes = explode( ' ', $item->classes );
+ }
+
$item->ID = $this->post_id;
$item->db_id = $this->post_id;
$post = new WP_Post( (object) $item );
@@ -684,11 +689,11 @@
);
$menu_item_value = array_merge( $default, $menu_item_value );
$menu_item_value = wp_array_slice_assoc( $menu_item_value, array_keys( $default ) );
- $menu_item_value['position'] = intval( $menu_item_value['position'] );
+ $menu_item_value['position'] = (int) $menu_item_value['position'];
foreach ( array( 'object_id', 'menu_item_parent', 'nav_menu_term_id' ) as $key ) {
// Note we need to allow negative-integer IDs for previewed objects not inserted yet.
- $menu_item_value[ $key ] = intval( $menu_item_value[ $key ] );
+ $menu_item_value[ $key ] = (int) $menu_item_value[ $key ];
}
foreach ( array( 'type', 'object', 'target' ) as $key ) {
@@ -798,7 +803,7 @@
return;
}
- if ( intval( $value['nav_menu_term_id'] ) !== $nav_menu_setting->previous_term_id ) {
+ if ( (int) $value['nav_menu_term_id'] !== $nav_menu_setting->previous_term_id ) {
$this->update_status = 'error';
$this->update_error = new WP_Error( 'unexpected_previous_term_id' );
return;
@@ -824,7 +829,7 @@
return;
}
- if ( intval( $value['menu_item_parent'] ) !== $parent_nav_menu_item_setting->previous_post_id ) {
+ if ( (int) $value['menu_item_parent'] !== $parent_nav_menu_item_setting->previous_post_id ) {
$this->update_status = 'error';
$this->update_error = new WP_Error( 'unexpected_previous_post_id' );
return;