Editor: Fix PHP notice in `WP_Block_Supports` when no attributes declared.
A check is added to verify if the block's `'attrs'` key exists before accessing it. If no, it defaults to an empty array. How was this found? WP 6.1 removed the attributes from the `core/page-list` block. When this block is being processed by `WP_Block_Supports::apply_block_supports()`, the key `'attrs'` does not exist in `self::$block_to_render`. This commit includes a tiny micro-optimization by moving this line of code after the existing guard clause. Why? If the guard clause is triggered, the method bails out early, meaning the attributes code is not used. By moving it after the guard clause, it saves a tiny bit of memory and processing if this happens. Follow-up to [49310], [54399]. Props petitphp, spacedmonkey, hellofromTonya. Fixes #56799. Built from https://develop.svn.wordpress.org/trunk@54498 git-svn-id: http://core.svn.wordpress.org/trunk@54057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
b0a8a8b46e
commit
76b784ca9a
|
@ -94,7 +94,6 @@ class WP_Block_Supports {
|
||||||
* @return string[] Array of HTML attributes.
|
* @return string[] Array of HTML attributes.
|
||||||
*/
|
*/
|
||||||
public function apply_block_supports() {
|
public function apply_block_supports() {
|
||||||
$block_attributes = self::$block_to_render['attrs'];
|
|
||||||
$block_type = WP_Block_Type_Registry::get_instance()->get_registered(
|
$block_type = WP_Block_Type_Registry::get_instance()->get_registered(
|
||||||
self::$block_to_render['blockName']
|
self::$block_to_render['blockName']
|
||||||
);
|
);
|
||||||
|
@ -104,6 +103,10 @@ class WP_Block_Supports {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$block_attributes = array_key_exists( 'attrs', self::$block_to_render )
|
||||||
|
? self::$block_to_render['attrs']
|
||||||
|
: array();
|
||||||
|
|
||||||
$output = array();
|
$output = array();
|
||||||
foreach ( $this->block_supports as $block_support_config ) {
|
foreach ( $this->block_supports as $block_support_config ) {
|
||||||
if ( ! isset( $block_support_config['apply'] ) ) {
|
if ( ! isset( $block_support_config['apply'] ) ) {
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '6.1-beta3-54497';
|
$wp_version = '6.1-beta3-54498';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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