Make WordPress Core

Changeset 61920


Ignore:
Timestamp:
03/11/2026 12:17:01 AM (2 weeks ago)
Author:
peterwilsoncc
Message:

Grouped backports for the 6.5 branch.

  • Interactivity API: Skip binding event handler attributes. The corresponding data-wp-on-- attribute should be used instead.
  • Customize: Introduce a fix for themes that pass a stringable object through the template_include filter despite it being documented as only accepting a string.
Location:
branches/6.5
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/6.5

  • branches/6.5/src/wp-includes/class-wp-block-patterns-registry.php

    r61904 r61920  
    200200        }
    201201
    202         $pattern_path = realpath( $patterns[ $pattern_name ]['filePath'] ?? '' );
     202        $file_path    = $patterns[ $pattern_name ]['filePath'] ?? '';
     203        $is_stringy   = is_string( $file_path ) || ( is_object( $file_path ) && method_exists( $file_path, '__toString' ) );
     204        $pattern_path = $is_stringy ? realpath( (string) $file_path ) : null;
    203205        if (
    204206            ! isset( $patterns[ $pattern_name ]['content'] ) &&
  • branches/6.5/src/wp-includes/interactivity-api/class-wp-interactivity-api.php

    r61904 r61920  
    673673                }
    674674
     675                // Skip if the bound attribute is an event handler.
     676                if ( str_starts_with( $bound_attribute, 'on' ) ) {
     677                    _doing_it_wrong(
     678                        __METHOD__,
     679                        sprintf(
     680                            /* translators: %s: The directive, e.g. data-wp-on--click. */
     681                            __( 'Binding event handler attributes is not supported. Please use "%s" instead.' ),
     682                            esc_attr( 'data-wp-on--' . substr( $bound_attribute, 2 ) )
     683                        ),
     684                        '6.8.5'
     685                    );
     686                    continue;
     687                }
     688
    675689                $attribute_value = $p->get_attribute( $attribute_name );
    676690                $result          = $this->evaluate( $attribute_value, end( $namespace_stack ), end( $context_stack ) );
  • branches/6.5/src/wp-includes/template-loader.php

    r61904 r61920  
    102102     * @param string $template The path of the template to include.
    103103     */
    104     $template = apply_filters( 'template_include', $template );
    105     $template = is_string( $template ) ? realpath( $template ) : null;
     104    $template   = apply_filters( 'template_include', $template );
     105    $is_stringy = is_string( $template ) || ( is_object( $template ) && method_exists( $template, '__toString' ) );
     106    $template   = $is_stringy ? realpath( (string) $template ) : null;
    106107    if (
    107108        is_string( $template ) &&
Note: See TracChangeset for help on using the changeset viewer.