wp_restore_group_inner_container

函数
wp_restore_group_inner_container ( $block_content, $block )
Access
Private
参数
  • (string) $block_content Rendered block content.
    Required:
  • (array) $block Block object.
    Required:
返回值
  • (string) Filtered block content.
定义位置
相关方法
wp_restore_image_outer_containerwp_restore_imagewp_restore_post_revisionwp_remote_retrieve_cookiewp_is_large_user_count
引入
5.8.0
弃用
-

wp_restore_group_inner_container: 这是一个WordPress的函数,用来恢复WordPress定制器中一组字段的内部容器。它用于渲染一组相关选项的用户界面,并在wp_restore_group函数之后调用。

对于没有theme.json文件的主题,确保恢复组块的内部div,以避免破坏依赖该div的样式。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function wp_restore_group_inner_container( $block_content, $block ) {
$tag_name = isset( $block['attrs']['tagName'] ) ? $block['attrs']['tagName'] : 'div';
$group_with_inner_container_regex = sprintf(
'/(^s*<%1$sb[^>]*wp-block-group(s|")[^>]*>)(s*<divb[^>]*wp-block-group__inner-container(s|")[^>]*>)((.|S|s)*)/U',
preg_quote( $tag_name, '/' )
);
if (
WP_Theme_JSON_Resolver::theme_has_support() ||
1 === preg_match( $group_with_inner_container_regex, $block_content ) ||
( isset( $block['attrs']['layout']['type'] ) && 'flex' === $block['attrs']['layout']['type'] )
) {
return $block_content;
}
$replace_regex = sprintf(
'/(^s*<%1$sb[^>]*wp-block-group[^>]*>)(.*)(</%1$s>s*$)/ms',
preg_quote( $tag_name, '/' )
);
$updated_content = preg_replace_callback(
$replace_regex,
static function( $matches ) {
return $matches[1] . '<div class="wp-block-group__inner-container">' . $matches[2] . '</div>' . $matches[3];
},
$block_content
);
return $updated_content;
}
function wp_restore_group_inner_container( $block_content, $block ) { $tag_name = isset( $block['attrs']['tagName'] ) ? $block['attrs']['tagName'] : 'div'; $group_with_inner_container_regex = sprintf( '/(^s*<%1$sb[^>]*wp-block-group(s|")[^>]*>)(s*<divb[^>]*wp-block-group__inner-container(s|")[^>]*>)((.|S|s)*)/U', preg_quote( $tag_name, '/' ) ); if ( WP_Theme_JSON_Resolver::theme_has_support() || 1 === preg_match( $group_with_inner_container_regex, $block_content ) || ( isset( $block['attrs']['layout']['type'] ) && 'flex' === $block['attrs']['layout']['type'] ) ) { return $block_content; } $replace_regex = sprintf( '/(^s*<%1$sb[^>]*wp-block-group[^>]*>)(.*)(</%1$s>s*$)/ms', preg_quote( $tag_name, '/' ) ); $updated_content = preg_replace_callback( $replace_regex, static function( $matches ) { return $matches[1] . '<div class="wp-block-group__inner-container">' . $matches[2] . '</div>' . $matches[3]; }, $block_content ); return $updated_content; }
function wp_restore_group_inner_container( $block_content, $block ) {
	$tag_name                         = isset( $block['attrs']['tagName'] ) ? $block['attrs']['tagName'] : 'div';
	$group_with_inner_container_regex = sprintf(
		'/(^s*<%1$sb[^>]*wp-block-group(s|")[^>]*>)(s*<divb[^>]*wp-block-group__inner-container(s|")[^>]*>)((.|S|s)*)/U',
		preg_quote( $tag_name, '/' )
	);

	if (
		WP_Theme_JSON_Resolver::theme_has_support() ||
		1 === preg_match( $group_with_inner_container_regex, $block_content ) ||
		( isset( $block['attrs']['layout']['type'] ) && 'flex' === $block['attrs']['layout']['type'] )
	) {
		return $block_content;
	}

	$replace_regex   = sprintf(
		'/(^s*<%1$sb[^>]*wp-block-group[^>]*>)(.*)(</%1$s>s*$)/ms',
		preg_quote( $tag_name, '/' )
	);
	$updated_content = preg_replace_callback(
		$replace_regex,
		static function( $matches ) {
			return $matches[1] . '<div class="wp-block-group__inner-container">' . $matches[2] . '</div>' . $matches[3];
		},
		$block_content
	);
	return $updated_content;
}

常见问题

FAQs
查看更多 >