Editor: Use wp_unique_id() instead of uniqid() to generate CSS class names.

Backports changes from https://github.com/WordPress/gutenberg/pull/38891.
See https://github.com/WordPress/gutenberg/issues/38889.

Props westonruter, mamaduka.
See #55474.

Built from https://develop.svn.wordpress.org/trunk@53012


git-svn-id: http://core.svn.wordpress.org/trunk@52601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
audrasjb 2022-03-29 13:06:07 +00:00
parent e2e15f1876
commit 3306061aa3
4 changed files with 7 additions and 7 deletions

View File

@ -520,7 +520,7 @@ function wp_render_duotone_support( $block_content, $block ) {
}
$filter_preset = array(
'slug' => uniqid(),
'slug' => wp_unique_id( sanitize_key( implode( '-', $block['attrs']['style']['color']['duotone'] ) . '-' ) ),
'colors' => $block['attrs']['style']['color']['duotone'],
);
$filter_property = wp_get_duotone_filter_property( $filter_preset );

View File

@ -36,7 +36,7 @@ function wp_render_elements_support( $block_content, $block ) {
return $block_content;
}
$class_name = 'wp-elements-' . uniqid();
$class_name = wp_unique_id( 'wp-elements-' );
if ( strpos( $link_color, 'var:preset|color|' ) !== false ) {
// Get the name from the string and add proper styles.

View File

@ -158,18 +158,18 @@ function wp_render_layout_support_flag( $block_content, $block ) {
$used_layout = $default_layout;
}
$id = uniqid();
$class_name = wp_unique_id( 'wp-container-' );
$gap_value = _wp_array_get( $block, array( 'attrs', 'style', 'spacing', 'blockGap' ) );
// Skip if gap value contains unsupported characters.
// Regex for CSS value borrowed from `safecss_filter_attr`, and used here
// because we only want to match against the value, not the CSS attribute.
$gap_value = preg_match( '%[\\\(&=}]|/\*%', $gap_value ) ? null : $gap_value;
$style = wp_get_layout_style( ".wp-container-$id", $used_layout, $has_block_gap_support, $gap_value );
$style = wp_get_layout_style( ".$class_name", $used_layout, $has_block_gap_support, $gap_value );
// This assumes the hook only applies to blocks with a single wrapper.
// I think this is a reasonable limitation for that particular hook.
$content = preg_replace(
'/' . preg_quote( 'class="', '/' ) . '/',
'class="wp-container-' . $id . ' ',
'class="' . esc_attr( $class_name ) . ' ',
$block_content,
1
);

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.0-alpha-53011';
$wp_version = '6.0-alpha-53012';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.