Code Modernisation: Fix known instances of array access on data types that can't be accessed as arrays.
PHP 7.4 addes a warning when trying access a null/bool/int/float/resource (everything but array, string and object) as if it were an array. This change fixes all of these warnings visible in unit tests. Props jrf. See #47704. Built from https://develop.svn.wordpress.org/trunk@45639 git-svn-id: http://core.svn.wordpress.org/trunk@45450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
bd45c7d3b9
commit
a571a7d621
|
@ -5098,10 +5098,10 @@ final class WP_Customize_Manager {
|
||||||
'label' => __( 'Logo' ),
|
'label' => __( 'Logo' ),
|
||||||
'section' => 'title_tagline',
|
'section' => 'title_tagline',
|
||||||
'priority' => 8,
|
'priority' => 8,
|
||||||
'height' => $custom_logo_args[0]['height'],
|
'height' => isset( $custom_logo_args[0]['height'] ) ? $custom_logo_args[0]['height'] : null,
|
||||||
'width' => $custom_logo_args[0]['width'],
|
'width' => isset( $custom_logo_args[0]['width'] ) ? $custom_logo_args[0]['width'] : null,
|
||||||
'flex_height' => $custom_logo_args[0]['flex-height'],
|
'flex_height' => isset( $custom_logo_args[0]['flex-height'] ) ? $custom_logo_args[0]['flex-height'] : null,
|
||||||
'flex_width' => $custom_logo_args[0]['flex-width'],
|
'flex_width' => isset( $custom_logo_args[0]['flex-width'] ) ? $custom_logo_args[0]['flex-width'] : null,
|
||||||
'button_labels' => array(
|
'button_labels' => array(
|
||||||
'select' => __( 'Select logo' ),
|
'select' => __( 'Select logo' ),
|
||||||
'change' => __( 'Change logo' ),
|
'change' => __( 'Change logo' ),
|
||||||
|
|
|
@ -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 ) {
|
public function filter_wp_get_nav_menu_items( $items, $menu, $args ) {
|
||||||
$this_item = $this->value();
|
$this_item = $this->value();
|
||||||
$current_nav_menu_term_id = $this_item['nav_menu_term_id'];
|
$current_nav_menu_term_id = null;
|
||||||
unset( $this_item['nav_menu_term_id'] );
|
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 = (
|
$should_filter = (
|
||||||
$menu->term_id === $this->original_nav_menu_term_id
|
$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 = (
|
$should_remove = (
|
||||||
false === $this_item
|
false === $this_item
|
||||||
||
|
||
|
||||||
true === $this_item['_invalid']
|
( isset( $this_item['_invalid'] ) && true === $this_item['_invalid'] )
|
||||||
||
|
||
|
||||||
(
|
(
|
||||||
$this->original_nav_menu_term_id === $menu->term_id
|
$this->original_nav_menu_term_id === $menu->term_id
|
||||||
|
|
|
@ -523,7 +523,11 @@ function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false )
|
||||||
|
|
||||||
if ( ! $meta_cache ) {
|
if ( ! $meta_cache ) {
|
||||||
$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
|
$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
|
||||||
$meta_cache = $meta_cache[ $object_id ];
|
if ( isset( $meta_cache[ $object_id ] ) ) {
|
||||||
|
$meta_cache = $meta_cache[ $object_id ];
|
||||||
|
} else {
|
||||||
|
$meta_cache = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! $meta_key ) {
|
if ( ! $meta_key ) {
|
||||||
|
|
|
@ -294,7 +294,9 @@ class WP_REST_Request implements ArrayAccess {
|
||||||
*
|
*
|
||||||
* @since 4.4.0
|
* @since 4.4.0
|
||||||
*
|
*
|
||||||
* @return array Map containing 'value' and 'parameters' keys.
|
* @return array|null Map containing 'value' and 'parameters' keys
|
||||||
|
* or null when no valid content-type header was
|
||||||
|
* available.
|
||||||
*/
|
*/
|
||||||
public function get_content_type() {
|
public function get_content_type() {
|
||||||
$value = $this->get_header( 'content-type' );
|
$value = $this->get_header( 'content-type' );
|
||||||
|
@ -334,7 +336,7 @@ class WP_REST_Request implements ArrayAccess {
|
||||||
$order = array();
|
$order = array();
|
||||||
|
|
||||||
$content_type = $this->get_content_type();
|
$content_type = $this->get_content_type();
|
||||||
if ( $content_type['value'] === 'application/json' ) {
|
if ( isset( $content_type['value'] ) && 'application/json' === $content_type['value'] ) {
|
||||||
$order[] = 'JSON';
|
$order[] = 'JSON';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2371,14 +2371,14 @@ function add_theme_support( $feature, ...$args ) {
|
||||||
* Merge post types with any that already declared their support
|
* Merge post types with any that already declared their support
|
||||||
* for post thumbnails.
|
* for post thumbnails.
|
||||||
*/
|
*/
|
||||||
if ( is_array( $args[0] ) && isset( $_wp_theme_features['post-thumbnails'] ) ) {
|
if ( isset( $args[0] ) && is_array( $args[0] ) && isset( $_wp_theme_features['post-thumbnails'] ) ) {
|
||||||
$args[0] = array_unique( array_merge( $_wp_theme_features['post-thumbnails'][0], $args[0] ) );
|
$args[0] = array_unique( array_merge( $_wp_theme_features['post-thumbnails'][0], $args[0] ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'post-formats':
|
case 'post-formats':
|
||||||
if ( is_array( $args[0] ) ) {
|
if ( isset( $args[0] ) && is_array( $args[0] ) ) {
|
||||||
$post_formats = get_post_format_slugs();
|
$post_formats = get_post_format_slugs();
|
||||||
unset( $post_formats['standard'] );
|
unset( $post_formats['standard'] );
|
||||||
|
|
||||||
|
@ -2391,7 +2391,7 @@ function add_theme_support( $feature, ...$args ) {
|
||||||
if ( empty( $args[0] ) ) {
|
if ( empty( $args[0] ) ) {
|
||||||
// Build an array of types for back-compat.
|
// Build an array of types for back-compat.
|
||||||
$args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) );
|
$args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) );
|
||||||
} elseif ( ! is_array( $args[0] ) ) {
|
} elseif ( ! isset( $args[0] ) || ! is_array( $args[0] ) ) {
|
||||||
_doing_it_wrong( "add_theme_support( 'html5' )", __( 'You need to pass an array of types.' ), '3.6.1' );
|
_doing_it_wrong( "add_theme_support( 'html5' )", __( 'You need to pass an array of types.' ), '3.6.1' );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2403,7 +2403,7 @@ function add_theme_support( $feature, ...$args ) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'custom-logo':
|
case 'custom-logo':
|
||||||
if ( ! is_array( $args ) ) {
|
if ( true === $args ) {
|
||||||
$args = array( 0 => array() );
|
$args = array( 0 => array() );
|
||||||
}
|
}
|
||||||
$defaults = array(
|
$defaults = array(
|
||||||
|
@ -2426,7 +2426,7 @@ function add_theme_support( $feature, ...$args ) {
|
||||||
return add_theme_support( 'custom-header', array( 'uploads' => true ) );
|
return add_theme_support( 'custom-header', array( 'uploads' => true ) );
|
||||||
|
|
||||||
case 'custom-header':
|
case 'custom-header':
|
||||||
if ( ! is_array( $args ) ) {
|
if ( true === $args ) {
|
||||||
$args = array( 0 => array() );
|
$args = array( 0 => array() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2516,7 +2516,7 @@ function add_theme_support( $feature, ...$args ) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'custom-background':
|
case 'custom-background':
|
||||||
if ( ! is_array( $args ) ) {
|
if ( true === $args ) {
|
||||||
$args = array( 0 => array() );
|
$args = array( 0 => array() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2088,7 +2088,10 @@ All at ###SITENAME###
|
||||||
$logged_in_cookie = wp_parse_auth_cookie( '', 'logged_in' );
|
$logged_in_cookie = wp_parse_auth_cookie( '', 'logged_in' );
|
||||||
/** This filter is documented in wp-includes/pluggable.php */
|
/** This filter is documented in wp-includes/pluggable.php */
|
||||||
$default_cookie_life = apply_filters( 'auth_cookie_expiration', ( 2 * DAY_IN_SECONDS ), $ID, false );
|
$default_cookie_life = apply_filters( 'auth_cookie_expiration', ( 2 * DAY_IN_SECONDS ), $ID, false );
|
||||||
$remember = ( ( $logged_in_cookie['expiration'] - time() ) > $default_cookie_life );
|
$remember = false;
|
||||||
|
if ( false !== $logged_in_cookie && ( $logged_in_cookie['expiration'] - time() ) > $default_cookie_life ) {
|
||||||
|
$remember = true;
|
||||||
|
}
|
||||||
|
|
||||||
wp_set_auth_cookie( $ID, $remember );
|
wp_set_auth_cookie( $ID, $remember );
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '5.3-alpha-45638';
|
$wp_version = '5.3-alpha-45639';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
|
@ -3113,7 +3113,7 @@ class wpdb {
|
||||||
foreach ( $data as $col => $value ) {
|
foreach ( $data as $col => $value ) {
|
||||||
if ( ! empty( $value['db'] ) ) {
|
if ( ! empty( $value['db'] ) ) {
|
||||||
// We're going to need to truncate by characters or bytes, depending on the length value we have.
|
// We're going to need to truncate by characters or bytes, depending on the length value we have.
|
||||||
if ( 'byte' === $value['length']['type'] ) {
|
if ( isset( $value['length']['type'] ) && 'byte' === $value['length']['type'] ) {
|
||||||
// Using binary causes LEFT() to truncate by bytes.
|
// Using binary causes LEFT() to truncate by bytes.
|
||||||
$charset = 'binary';
|
$charset = 'binary';
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue