serialize_block_attributes

函数
serialize_block_attributes ( $block_attributes )
参数
  • (array) $block_attributes Attributes object.
    Required:
返回值
  • (string) Serialized attributes.
定义位置
相关方法
serialize_blocksserialize_blockwp_pre_kses_block_attributeswp_sanitize_script_attributeswp_kses_uri_attributes
引入
5.3.1
弃用
-

serialize_block_attributes: 这是一个WordPress的函数,它将一个块的属性序列化为一个字符串。它通常用于将块的属性保存到数据库或通过网络发送: 这个函数需要一个参数,即属性数组。

给定一个属性数组,返回一个为文章内容准备的序列化属性格式的字符串。

序列化的结果是一个JSON编码的字符串,用unicode转义序列替代那些可能影响结果嵌入到HTML注释中的字符。

这个函数产生的输出必须与块编辑器中serializeAttributes JavaScript函数的输出保持同步,以确保PHP和JavaScript之间的操作一致。

function serialize_block_attributes( $block_attributes ) {
	$encoded_attributes = wp_json_encode( $block_attributes, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
	$encoded_attributes = preg_replace( '/--/', '\u002d\u002d', $encoded_attributes );
	$encoded_attributes = preg_replace( '/</', '\u003c', $encoded_attributes );
	$encoded_attributes = preg_replace( '/>/', '\u003e', $encoded_attributes );
	$encoded_attributes = preg_replace( '/&/', '\u0026', $encoded_attributes );
	// Regex: /\"/
	$encoded_attributes = preg_replace( '/\\"/', '\u0022', $encoded_attributes );

	return $encoded_attributes;
}

常见问题

FAQs
查看更多 >