From 36c2f88a60c93442b1a6ed7039350f9c3899a193 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Fri, 21 Jul 2017 21:01:45 +0000 Subject: [PATCH] Widgets: Include `widget_text` class name on Custom HTML widget wrapper for theme styling compatibility, in addition to previously-added `textwidget` class on nested content container. Amends [40893], [41115]. See #40907. Fixes #41392 for trunk. git-svn-id: https://develop.svn.wordpress.org/trunk@41116 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/widgets/class-wp-widget-custom-html.php | 3 +++ tests/phpunit/tests/widgets/custom-html-widget.php | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/widgets/class-wp-widget-custom-html.php b/src/wp-includes/widgets/class-wp-widget-custom-html.php index 7447415185..7fcce78f19 100644 --- a/src/wp-includes/widgets/class-wp-widget-custom-html.php +++ b/src/wp-includes/widgets/class-wp-widget-custom-html.php @@ -75,6 +75,9 @@ class WP_Widget_Custom_HTML extends WP_Widget { */ $content = apply_filters( 'widget_custom_html_content', $content, $instance, $this ); + // Inject the Text widget's container class name alongside this widget's class name for theme styling compatibility. + $args['before_widget'] = preg_replace( '/(?<=\sclass=["\'])/', 'widget_text ', $args['before_widget'] ); + echo $args['before_widget']; if ( ! empty( $title ) ) { echo $args['before_title'] . $title . $args['after_title']; diff --git a/tests/phpunit/tests/widgets/custom-html-widget.php b/tests/phpunit/tests/widgets/custom-html-widget.php index a9fe7c33cb..916cc1fc46 100644 --- a/tests/phpunit/tests/widgets/custom-html-widget.php +++ b/tests/phpunit/tests/widgets/custom-html-widget.php @@ -51,7 +51,7 @@ class Test_WP_Widget_Custom_HTML extends WP_UnitTestCase { $args = array( 'before_title' => '

', 'after_title' => "

\n", - 'before_widget' => '
', + 'before_widget' => '
', 'after_widget' => "
\n", ); $instance = array( @@ -70,7 +70,8 @@ class Test_WP_Widget_Custom_HTML extends WP_UnitTestCase { $this->assertNotEmpty( $this->widget_custom_html_content_args ); $this->assertNotEmpty( $this->widget_text_args ); $this->assertContains( '[filter:widget_text][filter:widget_custom_html_content]', $output ); - $this->assertContains( '
', $output ); + $this->assertContains( '
', $output ); + $this->assertContains( 'class="widget_text widget widget_custom_html"', $output ); $this->assertNotContains( '

', $output ); $this->assertNotContains( '
', $output ); $this->assertNotContains( '', $output );