Skip to content

Commit

Permalink
HTML API: Respect tag_name query arg in HTML_Processor::next_tag()
Browse files Browse the repository at this point in the history
Previously the HTML Processor was ignoring the `tag_name` argument in
the `next_tag()` query if it existed. This was wrong adn would lead to
calling code finding the very next tag, regardless of tag name, instead
of the requested taag.

This patch adds the tag name detection code into `next_tag()` to fix
the bug and ensure that `next_tag()` always returns only when finding
a tag of the given name.

Developed in #6980
Discussed in https://core.trac.wordpress.org/ticket/61581

Follow-up to [56274].

Fixes #61581.


git-svn-id: https://develop.svn.wordpress.org/trunk@58681 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
dmsnell committed Jul 6, 2024
1 parent ce10b4c commit f90c8bf
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/wp-includes/html-api/class-wp-html-processor.php
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,10 @@ public function next_tag( $query = null ) {
continue;
}

if ( isset( $query['tag_name'] ) && $query['tag_name'] !== $this->get_token_name() ) {
continue;
}

if ( isset( $needs_class ) && ! $this->has_class( $needs_class ) ) {
continue;
}
Expand Down

0 comments on commit f90c8bf

Please sign in to comment.