From 2399966d8ce0f89e3989360929fa01edf86e15c0 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 7 Mar 2022 14:44:01 +0000 Subject: [PATCH] Themes: Correct the logic for displaying a `_doing_it_wrong()` notice for `add_theme_support( 'html5' )`. * Calling `add_theme_support( 'html5' )` without passing an array of supported types should throw a `_doing_it_wrong()` notice: "You need to pass an array of types". * If the second parameter is not specified, it should fall back to an array of `comment-list`, `comment-form`, and `search-form` for backward compatibility. * If the second parameter is not an array, the function should return `false`. The latter two points are covered by existing unit tests. The first one is now addressed by `@expectedIncorrectUsage`. Follow-up to [25193], [25235], [25785]. Props audrasjb, peterwilsoncc, SergeyBiryukov. Fixes #51657. Built from https://develop.svn.wordpress.org/trunk@52828 git-svn-id: http://core.svn.wordpress.org/trunk@52417 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/theme.php | 13 ++++++++----- wp-includes/version.php | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/wp-includes/theme.php b/wp-includes/theme.php index 9effbadcd5..feec9b3de4 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -2607,16 +2607,19 @@ function add_theme_support( $feature, ...$args ) { case 'html5': // You can't just pass 'html5', you need to pass an array of types. - if ( empty( $args[0] ) ) { - // Build an array of types for back-compat. - $args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) ); - } elseif ( ! isset( $args[0] ) || ! is_array( $args[0] ) ) { + if ( empty( $args[0] ) || ! is_array( $args[0] ) ) { _doing_it_wrong( "add_theme_support( 'html5' )", __( 'You need to pass an array of types.' ), '3.6.1' ); - return false; + + if ( ! empty( $args[0] ) && ! is_array( $args[0] ) ) { + return false; + } + + // Build an array of types for back-compat. + $args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) ); } // Calling 'html5' again merges, rather than overwrites. diff --git a/wp-includes/version.php b/wp-includes/version.php index 290dfa1543..21c7d411db 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.0-alpha-52827'; +$wp_version = '6.0-alpha-52828'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.