mirror of
https://github.com/WordPress/WordPress.git
synced 2025-01-05 07:58:35 +01:00
Editor: Add viewStyle
property to block.json
for frontend-only block styles
Related issue in Gutenberg: https://github.com/WordPress/gutenberg/issues/54491. For block scripts there was already `script`, `viewScript` and `editorScript`. For block styles there was only `style` and `editorStyle`. This brings the parity. Props gaambo. Fixes #59673. Built from https://develop.svn.wordpress.org/trunk@57493 git-svn-id: http://core.svn.wordpress.org/trunk@56994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
2de003154d
commit
9eea02e31b
@ -64,6 +64,7 @@ function generate_block_asset_handle( $block_name, $field_name, $index = 0 ) {
|
|||||||
'viewScript' => 'view-script',
|
'viewScript' => 'view-script',
|
||||||
'editorStyle' => 'editor-style',
|
'editorStyle' => 'editor-style',
|
||||||
'style' => 'style',
|
'style' => 'style',
|
||||||
|
'viewStyle' => 'view-style',
|
||||||
);
|
);
|
||||||
$asset_handle = str_replace( '/', '-', $block_name ) .
|
$asset_handle = str_replace( '/', '-', $block_name ) .
|
||||||
'-' . $field_mappings[ $field_name ];
|
'-' . $field_mappings[ $field_name ];
|
||||||
@ -326,6 +327,7 @@ function get_block_metadata_i18n_schema() {
|
|||||||
* @since 6.1.0 Added support for `render` field.
|
* @since 6.1.0 Added support for `render` field.
|
||||||
* @since 6.3.0 Added `selectors` field.
|
* @since 6.3.0 Added `selectors` field.
|
||||||
* @since 6.4.0 Added support for `blockHooks` field.
|
* @since 6.4.0 Added support for `blockHooks` field.
|
||||||
|
* @since 6.5.0 Added support for `viewStyle` field.
|
||||||
*
|
*
|
||||||
* @param string $file_or_folder Path to the JSON file with metadata definition for
|
* @param string $file_or_folder Path to the JSON file with metadata definition for
|
||||||
* the block or path to the folder where the `block.json` file is located.
|
* the block or path to the folder where the `block.json` file is located.
|
||||||
@ -503,6 +505,7 @@ function register_block_type_from_metadata( $file_or_folder, $args = array() ) {
|
|||||||
$style_fields = array(
|
$style_fields = array(
|
||||||
'editorStyle' => 'editor_style_handles',
|
'editorStyle' => 'editor_style_handles',
|
||||||
'style' => 'style_handles',
|
'style' => 'style_handles',
|
||||||
|
'viewStyle' => 'view_style_handles',
|
||||||
);
|
);
|
||||||
foreach ( $style_fields as $metadata_field_name => $settings_field_name ) {
|
foreach ( $style_fields as $metadata_field_name => $settings_field_name ) {
|
||||||
if ( ! empty( $settings[ $metadata_field_name ] ) ) {
|
if ( ! empty( $settings[ $metadata_field_name ] ) ) {
|
||||||
|
@ -234,6 +234,14 @@ class WP_Block_Type {
|
|||||||
*/
|
*/
|
||||||
public $style_handles = array();
|
public $style_handles = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Block type front end only style handles.
|
||||||
|
*
|
||||||
|
* @since 6.5.0
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
public $view_style_handles = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deprecated block type properties for script and style handles.
|
* Deprecated block type properties for script and style handles.
|
||||||
*
|
*
|
||||||
@ -278,6 +286,7 @@ class WP_Block_Type {
|
|||||||
* Deprecated the `editor_script`, `script`, `view_script`, `editor_style`, and `style` properties.
|
* Deprecated the `editor_script`, `script`, `view_script`, `editor_style`, and `style` properties.
|
||||||
* @since 6.3.0 Added the `selectors` property.
|
* @since 6.3.0 Added the `selectors` property.
|
||||||
* @since 6.4.0 Added the `block_hooks` property.
|
* @since 6.4.0 Added the `block_hooks` property.
|
||||||
|
* @since 6.5.0 Added the `view_style_handles` property.
|
||||||
*
|
*
|
||||||
* @see register_block_type()
|
* @see register_block_type()
|
||||||
*
|
*
|
||||||
@ -315,6 +324,7 @@ class WP_Block_Type {
|
|||||||
* @type string[] $view_script_handles Block type front end only script handles.
|
* @type string[] $view_script_handles Block type front end only script handles.
|
||||||
* @type string[] $editor_style_handles Block type editor only style handles.
|
* @type string[] $editor_style_handles Block type editor only style handles.
|
||||||
* @type string[] $style_handles Block type front end and editor style handles.
|
* @type string[] $style_handles Block type front end and editor style handles.
|
||||||
|
* @type string[] $view_style_handles Block type front end only style handles.
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
public function __construct( $block_type, $args = array() ) {
|
public function __construct( $block_type, $args = array() ) {
|
||||||
|
@ -280,6 +280,12 @@ class WP_Block {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ( ! empty( $this->block_type->view_style_handles ) ) ) {
|
||||||
|
foreach ( $this->block_type->view_style_handles as $view_style_handle ) {
|
||||||
|
wp_enqueue_style( $view_style_handle );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters the content of a single block.
|
* Filters the content of a single block.
|
||||||
*
|
*
|
||||||
|
@ -292,6 +292,7 @@ class WP_REST_Block_Types_Controller extends WP_REST_Controller {
|
|||||||
'view_script_handles',
|
'view_script_handles',
|
||||||
'editor_style_handles',
|
'editor_style_handles',
|
||||||
'style_handles',
|
'style_handles',
|
||||||
|
'view_style_handles',
|
||||||
'variations',
|
'variations',
|
||||||
'block_hooks',
|
'block_hooks',
|
||||||
),
|
),
|
||||||
@ -602,6 +603,16 @@ class WP_REST_Block_Types_Controller extends WP_REST_Controller {
|
|||||||
'context' => array( 'embed', 'view', 'edit' ),
|
'context' => array( 'embed', 'view', 'edit' ),
|
||||||
'readonly' => true,
|
'readonly' => true,
|
||||||
),
|
),
|
||||||
|
'view_style_handles' => array(
|
||||||
|
'description' => __( 'Public facing style handles.' ),
|
||||||
|
'type' => array( 'array' ),
|
||||||
|
'default' => array(),
|
||||||
|
'items' => array(
|
||||||
|
'type' => 'string',
|
||||||
|
),
|
||||||
|
'context' => array( 'embed', 'view', 'edit' ),
|
||||||
|
'readonly' => true,
|
||||||
|
),
|
||||||
'styles' => array(
|
'styles' => array(
|
||||||
'description' => __( 'Block style variations.' ),
|
'description' => __( 'Block style variations.' ),
|
||||||
'type' => 'array',
|
'type' => 'array',
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '6.5-alpha-57492';
|
$wp_version = '6.5-alpha-57493';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
Loading…
Reference in New Issue
Block a user