Blocks: Add context fields to WP_Block_Type
New block context related fields were added as part of https://github.com/WordPress/gutenberg/pull/22686. This changest backports them to WP_Block_Type class. Props aduth, spacedmonkey, mcsf, epiqueras. Fixes #47656. git-svn-id: https://develop.svn.wordpress.org/trunk@48117 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
8e0e6bc3aa
commit
699c8557f9
@ -2234,11 +2234,25 @@ function get_block_categories( $post ) {
|
||||
function get_block_editor_server_block_settings() {
|
||||
$block_registry = WP_Block_Type_Registry::get_instance();
|
||||
$blocks = array();
|
||||
$keys_to_pick = array( 'title', 'description', 'icon', 'category', 'keywords', 'parent', 'supports', 'attributes', 'styles', 'textdomain', 'example' );
|
||||
$fields_to_pick = array(
|
||||
'title' => 'title',
|
||||
'description' => 'description',
|
||||
'icon' => 'icon',
|
||||
'category' => 'category',
|
||||
'keywords' => 'keywords',
|
||||
'parent' => 'parent',
|
||||
'supports' => 'supports',
|
||||
'attributes' => 'attributes',
|
||||
'provides_context' => 'providesContext',
|
||||
'uses_context' => 'usesContext',
|
||||
'styles' => 'styles',
|
||||
'textdomain' => 'textdomain',
|
||||
'example' => 'example',
|
||||
);
|
||||
|
||||
foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) {
|
||||
foreach ( $keys_to_pick as $key ) {
|
||||
if ( ! isset( $block_type->{ $key } ) ) {
|
||||
foreach ( $fields_to_pick as $field => $key ) {
|
||||
if ( ! isset( $block_type->{ $field } ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -2246,7 +2260,7 @@ function get_block_editor_server_block_settings() {
|
||||
$blocks[ $block_name ] = array();
|
||||
}
|
||||
|
||||
$blocks[ $block_name ][ $key ] = $block_type->{ $key };
|
||||
$blocks[ $block_name ][ $key ] = $block_type->{ $field };
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,9 +74,9 @@ class WP_Block_Type {
|
||||
|
||||
/**
|
||||
* @since 5.5.0
|
||||
* @var array
|
||||
* @var array|null
|
||||
*/
|
||||
public $supports = array();
|
||||
public $supports = null;
|
||||
|
||||
/**
|
||||
* @since 5.5.0
|
||||
@ -100,6 +100,22 @@ class WP_Block_Type {
|
||||
*/
|
||||
public $attributes = null;
|
||||
|
||||
/**
|
||||
* Context values inherited by blocks of this type.
|
||||
*
|
||||
* @since 5.5.0
|
||||
* @var array
|
||||
*/
|
||||
public $uses_context = array();
|
||||
|
||||
/**
|
||||
* Context provided by blocks of this type.
|
||||
*
|
||||
* @since 5.5.0
|
||||
* @var array|null
|
||||
*/
|
||||
public $provides_context = null;
|
||||
|
||||
/**
|
||||
* Block type editor script handle.
|
||||
*
|
||||
|
@ -844,7 +844,7 @@ class Tests_Admin_Includes_Post extends WP_UnitTestCase {
|
||||
'category' => 'common',
|
||||
'icon' => 'text',
|
||||
'keywords' => array(),
|
||||
'supports' => array(),
|
||||
'usesContext' => array(),
|
||||
'styles' => array(),
|
||||
),
|
||||
$blocks[ $name ]
|
||||
|
Loading…
Reference in New Issue
Block a user