Make WordPress Core


Ignore:
Timestamp:
06/28/2024 07:11:25 AM (2 years ago)
Author:
gziolo
Message:

HTML API: Report breadcrumbs properly when visiting virtual nodes.

The breadcrumbs have been updated to account for the virtual nodes
and the depth method has been updated to rely on the fixed breadcrumb logic.

Reviewed by jonsurrell, zieladam, gziolo.
Merges [58588] to the 6.6 branch.

Follow-up to [58304].

Props dmsnell, hellofromtonya, joemcgill, jonsurrell, zieladam.
Fixes #61348.

Location:
branches/6.6
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/6.6

  • branches/6.6/src/wp-includes/html-api/class-wp-html-open-elements.php

    r58441 r58590  
    309309        public function pop() {
    310310                $item = array_pop( $this->stack );
    311 
    312311                if ( null === $item ) {
    313312                        return false;
    314313                }
    315314
     315                if ( 'context-node' === $item->bookmark_name ) {
     316                        $this->stack[] = $item;
     317                        return false;
     318                }
     319
    316320                $this->after_element_pop( $item );
    317321                return true;
    … …  
    330334        public function pop_until( $tag_name ) {
    331335                foreach ( $this->walk_up() as $item ) {
     336                        if ( 'context-node' === $item->bookmark_name ) {
     337                                return true;
     338                        }
     339
    332340                        $this->pop();
    333341
    … …  
    370378         */
    371379        public function remove_node( $token ) {
     380                if ( 'context-node' === $token->bookmark_name ) {
     381                        return false;
     382                }
     383
    372384                foreach ( $this->walk_up() as $position_from_end => $item ) {
    373385                        if ( $token->bookmark_name !== $item->bookmark_name ) {
Note: See TracChangeset for help on using the changeset viewer.