KSES: Allow leading trailing double hyphen in data attributes
Expand allowable set of custom data attribute names to include those containing leading, trailing, and double `-` characters. Previously, WordPress was removing data attributes that are used in the Interactivity API. By allowing these additional custom data attributes, the related Interactivity API directives will preserve through `kses`. For example, the Interactivity API frequently relies on custom data attributes such as `data-wp-on--click="..."`. The change in [43981] would strip these out of the processed HTML, however. Developed in https://github.com/WordPress/wordpress-develop/pull/6598 Discussed in https://core.trac.wordpress.org/ticket/61052 Props cbravobernal, dmsnell, gziolo, jonsurrell. Follow-up to [43981]. Fixes #61052. Built from https://develop.svn.wordpress.org/trunk@58294 git-svn-id: http://core.svn.wordpress.org/trunk@57754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
fe3ad93303
commit
5af7587e2b
|
@ -1263,11 +1263,10 @@ function wp_kses_attr_check( &$name, &$value, &$whole, $vless, $element, $allowe
|
|||
* `data-*` (not to be mixed with the HTML 4.0 `data` attribute, see
|
||||
* https://www.w3.org/TR/html40/struct/objects.html#adef-data).
|
||||
*
|
||||
* Note: the attribute name should only contain `A-Za-z0-9_-` chars,
|
||||
* double hyphens `--` are not accepted by WordPress.
|
||||
* Note: the attribute name should only contain `A-Za-z0-9_-` chars.
|
||||
*/
|
||||
if ( str_starts_with( $name_low, 'data-' ) && ! empty( $allowed_attr['data-*'] )
|
||||
&& preg_match( '/^data(?:-[a-z0-9_]+)+$/', $name_low, $match )
|
||||
&& preg_match( '/^data-[a-z0-9_-]+$/', $name_low, $match )
|
||||
) {
|
||||
/*
|
||||
* Add the whole attribute name to the allowed attributes and set any restrictions
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '6.6-alpha-58293';
|
||||
$wp_version = '6.6-alpha-58294';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue