diff --git a/src/wp-includes/html-api/class-wp-html-processor.php b/src/wp-includes/html-api/class-wp-html-processor.php index cce26a60c5350..856787c34bb8f 100644 --- a/src/wp-includes/html-api/class-wp-html-processor.php +++ b/src/wp-includes/html-api/class-wp-html-processor.php @@ -862,6 +862,19 @@ private function step_in_body() { $this->state->stack_of_open_elements->pop_until( $tag_name ); return true; + /* + * > A start tag whose tag name is "plaintext" + */ + case '+PLAINTEXT': + if ( ! $this->state->stack_of_open_elements->has_p_in_button_scope() ) { + $this->close_a_p_element(); + } + + $this->insert_html_element( $this->state->current_token ); + $this->state->insertion_mode; + return true; + + /* * > An end tag whose tag name is "p" */ @@ -997,7 +1010,6 @@ private function step_in_body() { case 'OPTGROUP': case 'OPTION': case 'PARAM': - case 'PLAINTEXT': case 'PRE': case 'RB': case 'RP': diff --git a/tests/phpunit/tests/html-api/wpHtmlProcessor.php b/tests/phpunit/tests/html-api/wpHtmlProcessor.php index d9f1357b5c66f..51337f860302f 100644 --- a/tests/phpunit/tests/html-api/wpHtmlProcessor.php +++ b/tests/phpunit/tests/html-api/wpHtmlProcessor.php @@ -191,7 +191,6 @@ public function data_unsupported_special_in_body_tags() { 'OPTGROUP' => array( 'OPTGROUP' ), 'OPTION' => array( 'OPTION' ), 'PARAM' => array( 'PARAM' ), - 'PLAINTEXT' => array( 'PLAINTEXT' ), 'PRE' => array( 'PRE' ), 'RB' => array( 'RB' ), 'RP' => array( 'RP' ),