wp_render_elements_support_styles

函数
wp_render_elements_support_styles ( $pre_render, $block )
Access
Private
参数
  • (string|null) $pre_render The pre-rendered content. Default null.
    Required:
  • (array) $block The block being rendered.
    Required:
返回值
  • (null)
定义位置
相关方法
wp_render_elements_supportwp_enqueue_block_support_styleswp_render_layout_support_flagwp_register_alignment_supportwp_render_duotone_support
引入
6.0.0
弃用
-

wp_render_elements_support_styles: 这个函数输出为一个块元素添加支持wp-elements类所需的CSS样式。

渲染元素的样式表。

在嵌套块的情况下,我们希望父元素的样式在其子元素之前被渲染。这就解决了一个元素(例如:链接颜色)在父元素和子元素中都有样式的问题:我们希望子元素的样式优先,这可以通过在DOM顺序中加载它来实现。

function wp_render_elements_support_styles( $pre_render, $block ) {
	$block_type           = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] );
	$element_block_styles = isset( $block['attrs']['style']['elements'] ) ? $block['attrs']['style']['elements'] : null;

	/*
	* For now we only care about link color.
	*/
	$skip_link_color_serialization = wp_should_skip_block_supports_serialization( $block_type, 'color', 'link' );

	if ( $skip_link_color_serialization ) {
		return null;
	}
	$class_name        = wp_get_elements_class_name( $block );
	$link_block_styles = isset( $element_block_styles['link'] ) ? $element_block_styles['link'] : null;

	wp_style_engine_get_styles(
		$link_block_styles,
		array(
			'selector' => ".$class_name a",
			'context'  => 'block-supports',
		)
	);

	return null;
}

常见问题

FAQs
查看更多 >