Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid a PHP Notice when render_block() is called without attributes. #32135

Merged
merged 2 commits into from
May 31, 2021

Conversation

dd32
Copy link
Member

@dd32 dd32 commented May 24, 2021

Description

When render_block() is called without block attributes set, wp_render_elements_supports() causes a PHP Notice.

Example:

<?php echo render_block( array( 'blockName' => 'wporg-learn/workshop-details' ) ); ?>

E_NOTICE: Undefined index: attrs in wp-includes/block-supports/elements.php:20

How has this been tested?

  • Visual testing

Screenshots

Types of changes

Bug fix

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@dd32
Copy link
Member Author

dd32 commented May 24, 2021

To note, I questioned if the $parsed_block should just have the attrs field set, but it seems like checking for existence is done elsewhere already:

https://github.com/WordPress/wordpress-develop/blob/master/src/wp-includes/class-wp-block.php#L167-L170

Copy link
Member

@aristath aristath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see no problem with adding an extra check here to avoid issues 👍

@gziolo gziolo added this to the Gutenberg 10.7 milestone May 24, 2021
@gziolo gziolo requested a review from a team May 24, 2021 22:00
@gziolo gziolo added the [Type] Code Quality Issues or PRs that relate to code quality label May 24, 2021
@youknowriad
Copy link
Contributor

Looks like there's a unit test failure here.

@youknowriad youknowriad removed this from the Gutenberg 10.7 milestone May 26, 2021
@youknowriad youknowriad added the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label May 26, 2021
@oandregal
Copy link
Member

It seems the error is due to the WP_Block_Template class being present both in the WordPress environment (latest master from wordpress-develop) and the Gutenberg plugin. I can repro locally.

@oandregal
Copy link
Member

@dd32 this needs to be rebased from trunk.

@oandregal oandregal force-pushed the fix/notice/render_elements_support branch from 6c95e2a to 671858c Compare May 31, 2021 10:01
@oandregal
Copy link
Member

I rebased this PR based on these instructions.

@youknowriad youknowriad merged commit 4346306 into WordPress:trunk May 31, 2021
@github-actions github-actions bot added this to the Gutenberg 10.8 milestone May 31, 2021
@youknowriad youknowriad removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label May 31, 2021
youknowriad pushed a commit to youknowriad/wordpress-develop that referenced this pull request May 31, 2021
nylen pushed a commit to nylen/wordpress-develop-svn that referenced this pull request Jun 1, 2021
This includes the following fixes:

- Generate babel polyfill dynamically WordPress/gutenberg#31279
- Improve the List View component WordPress/gutenberg#31290 WordPress/gutenberg#32063
- Template mode:
    - Fix embed dimensions WordPress/gutenberg#32057
    - Update the welcome guide WordPress/gutenberg#32055 WordPress/gutenberg#32026
    - Don’t display the notice at the same time as the welcome guide WordPress/gutenberg#32076
    - Remove MetaBoxes WordPress/gutenberg#32315
    - Update the title area WordPress/gutenberg#32037 
- Widgets Screen:
    - Fix unsaved changes WordPress/gutenberg#31757
    - Fix toolbar alignment WordPress/gutenberg#31991
    - Fix block toolbar position after scroll WordPress/gutenberg#32212
    - Fix the visible widget area header WordPress/gutenberg#32262
    - Fix legacy widgets preview WordPress/gutenberg#32260
    - 
- Block Widgets in the customizer: 
    - Fix customizer title overlapping block toolbar WordPress/gutenberg#32140
    - Fix styling issues WordPress/gutenberg#32072
    - Fix escape key events WordPress/gutenberg#32175
    - Add preferences menu group label WordPress/gutenberg#32259
    - Fix creating and replacing legacy widgets WordPress/gutenberg#32005
    - Fix the welcome guide’s image WordPress/gutenberg#32264 WordPress/gutenberg#32302 
- Fix Cover to Image transform duotone error WordPress/gutenberg#32006
- Remove filter_var usage from blocks WordPress/gutenberg#32046 
- Fix image width for aligned Post Featured Image block WordPress/gutenberg#32070
- Prevent excessive Image block re-rendering WordPress/gutenberg#32102
- Remove gutenberg domain from core blocks WordPress/gutenberg#32152
- Use the block editor context class for the the different settings filters WordPress/gutenberg#32159
- Fix Latest Posts block grid view WordPress/gutenberg#32160
- Fix preset classes generation per block WordPress/gutenberg#32190
- Fix logic to enable custom colors and gradients WordPress/gutenberg#32200
- Update the Site Logo logic to use a dedicated site option WordPress/gutenberg#32229
- Limit the Latest Posts block’s featured image width WordPress/gutenberg#32245
- Remove opacity animation in the canvas. WordPress/gutenberg#32266
- Make the focus style valid CSS WordPress/gutenberg#32305
- Fix theme.json styles for the core/list block WordPress/gutenberg#32343
- Fix PHP notice when calling render_block WordPress/gutenberg#32135

Props nosolosw, noisysocks.
See #52991.


git-svn-id: https://develop.svn.wordpress.org/trunk@51051 602fd350-edb4-49c9-b593-d223f7449a82
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jun 1, 2021
This includes the following fixes:

- Generate babel polyfill dynamically WordPress/gutenberg#31279
- Improve the List View component WordPress/gutenberg#31290 WordPress/gutenberg#32063
- Template mode:
    - Fix embed dimensions WordPress/gutenberg#32057
    - Update the welcome guide WordPress/gutenberg#32055 WordPress/gutenberg#32026
    - Don’t display the notice at the same time as the welcome guide WordPress/gutenberg#32076
    - Remove MetaBoxes WordPress/gutenberg#32315
    - Update the title area WordPress/gutenberg#32037 
- Widgets Screen:
    - Fix unsaved changes WordPress/gutenberg#31757
    - Fix toolbar alignment WordPress/gutenberg#31991
    - Fix block toolbar position after scroll WordPress/gutenberg#32212
    - Fix the visible widget area header WordPress/gutenberg#32262
    - Fix legacy widgets preview WordPress/gutenberg#32260
    - 
- Block Widgets in the customizer: 
    - Fix customizer title overlapping block toolbar WordPress/gutenberg#32140
    - Fix styling issues WordPress/gutenberg#32072
    - Fix escape key events WordPress/gutenberg#32175
    - Add preferences menu group label WordPress/gutenberg#32259
    - Fix creating and replacing legacy widgets WordPress/gutenberg#32005
    - Fix the welcome guide’s image WordPress/gutenberg#32264 WordPress/gutenberg#32302 
- Fix Cover to Image transform duotone error WordPress/gutenberg#32006
- Remove filter_var usage from blocks WordPress/gutenberg#32046 
- Fix image width for aligned Post Featured Image block WordPress/gutenberg#32070
- Prevent excessive Image block re-rendering WordPress/gutenberg#32102
- Remove gutenberg domain from core blocks WordPress/gutenberg#32152
- Use the block editor context class for the the different settings filters WordPress/gutenberg#32159
- Fix Latest Posts block grid view WordPress/gutenberg#32160
- Fix preset classes generation per block WordPress/gutenberg#32190
- Fix logic to enable custom colors and gradients WordPress/gutenberg#32200
- Update the Site Logo logic to use a dedicated site option WordPress/gutenberg#32229
- Limit the Latest Posts block’s featured image width WordPress/gutenberg#32245
- Remove opacity animation in the canvas. WordPress/gutenberg#32266
- Make the focus style valid CSS WordPress/gutenberg#32305
- Fix theme.json styles for the core/list block WordPress/gutenberg#32343
- Fix PHP notice when calling render_block WordPress/gutenberg#32135

Props nosolosw, noisysocks.
See #52991.


git-svn-id: https://develop.svn.wordpress.org/trunk@51051 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jun 1, 2021
This includes the following fixes:

- Generate babel polyfill dynamically WordPress/gutenberg#31279
- Improve the List View component WordPress/gutenberg#31290 WordPress/gutenberg#32063
- Template mode:
    - Fix embed dimensions WordPress/gutenberg#32057
    - Update the welcome guide WordPress/gutenberg#32055 WordPress/gutenberg#32026
    - Don’t display the notice at the same time as the welcome guide WordPress/gutenberg#32076
    - Remove MetaBoxes WordPress/gutenberg#32315
    - Update the title area WordPress/gutenberg#32037 
- Widgets Screen:
    - Fix unsaved changes WordPress/gutenberg#31757
    - Fix toolbar alignment WordPress/gutenberg#31991
    - Fix block toolbar position after scroll WordPress/gutenberg#32212
    - Fix the visible widget area header WordPress/gutenberg#32262
    - Fix legacy widgets preview WordPress/gutenberg#32260
    - 
- Block Widgets in the customizer: 
    - Fix customizer title overlapping block toolbar WordPress/gutenberg#32140
    - Fix styling issues WordPress/gutenberg#32072
    - Fix escape key events WordPress/gutenberg#32175
    - Add preferences menu group label WordPress/gutenberg#32259
    - Fix creating and replacing legacy widgets WordPress/gutenberg#32005
    - Fix the welcome guide’s image WordPress/gutenberg#32264 WordPress/gutenberg#32302 
- Fix Cover to Image transform duotone error WordPress/gutenberg#32006
- Remove filter_var usage from blocks WordPress/gutenberg#32046 
- Fix image width for aligned Post Featured Image block WordPress/gutenberg#32070
- Prevent excessive Image block re-rendering WordPress/gutenberg#32102
- Remove gutenberg domain from core blocks WordPress/gutenberg#32152
- Use the block editor context class for the the different settings filters WordPress/gutenberg#32159
- Fix Latest Posts block grid view WordPress/gutenberg#32160
- Fix preset classes generation per block WordPress/gutenberg#32190
- Fix logic to enable custom colors and gradients WordPress/gutenberg#32200
- Update the Site Logo logic to use a dedicated site option WordPress/gutenberg#32229
- Limit the Latest Posts block’s featured image width WordPress/gutenberg#32245
- Remove opacity animation in the canvas. WordPress/gutenberg#32266
- Make the focus style valid CSS WordPress/gutenberg#32305
- Fix theme.json styles for the core/list block WordPress/gutenberg#32343
- Fix PHP notice when calling render_block WordPress/gutenberg#32135

Props nosolosw, noisysocks.
See #52991.

Built from https://develop.svn.wordpress.org/trunk@51051


git-svn-id: http://core.svn.wordpress.org/trunk@50660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
gMagicScott pushed a commit to gMagicScott/core.wordpress-mirror that referenced this pull request Jun 1, 2021
This includes the following fixes:

- Generate babel polyfill dynamically WordPress/gutenberg#31279
- Improve the List View component WordPress/gutenberg#31290 WordPress/gutenberg#32063
- Template mode:
    - Fix embed dimensions WordPress/gutenberg#32057
    - Update the welcome guide WordPress/gutenberg#32055 WordPress/gutenberg#32026
    - Don’t display the notice at the same time as the welcome guide WordPress/gutenberg#32076
    - Remove MetaBoxes WordPress/gutenberg#32315
    - Update the title area WordPress/gutenberg#32037 
- Widgets Screen:
    - Fix unsaved changes WordPress/gutenberg#31757
    - Fix toolbar alignment WordPress/gutenberg#31991
    - Fix block toolbar position after scroll WordPress/gutenberg#32212
    - Fix the visible widget area header WordPress/gutenberg#32262
    - Fix legacy widgets preview WordPress/gutenberg#32260
    - 
- Block Widgets in the customizer: 
    - Fix customizer title overlapping block toolbar WordPress/gutenberg#32140
    - Fix styling issues WordPress/gutenberg#32072
    - Fix escape key events WordPress/gutenberg#32175
    - Add preferences menu group label WordPress/gutenberg#32259
    - Fix creating and replacing legacy widgets WordPress/gutenberg#32005
    - Fix the welcome guide’s image WordPress/gutenberg#32264 WordPress/gutenberg#32302 
- Fix Cover to Image transform duotone error WordPress/gutenberg#32006
- Remove filter_var usage from blocks WordPress/gutenberg#32046 
- Fix image width for aligned Post Featured Image block WordPress/gutenberg#32070
- Prevent excessive Image block re-rendering WordPress/gutenberg#32102
- Remove gutenberg domain from core blocks WordPress/gutenberg#32152
- Use the block editor context class for the the different settings filters WordPress/gutenberg#32159
- Fix Latest Posts block grid view WordPress/gutenberg#32160
- Fix preset classes generation per block WordPress/gutenberg#32190
- Fix logic to enable custom colors and gradients WordPress/gutenberg#32200
- Update the Site Logo logic to use a dedicated site option WordPress/gutenberg#32229
- Limit the Latest Posts block’s featured image width WordPress/gutenberg#32245
- Remove opacity animation in the canvas. WordPress/gutenberg#32266
- Make the focus style valid CSS WordPress/gutenberg#32305
- Fix theme.json styles for the core/list block WordPress/gutenberg#32343
- Fix PHP notice when calling render_block WordPress/gutenberg#32135

Props nosolosw, noisysocks.
See #52991.

Built from https://develop.svn.wordpress.org/trunk@51051


git-svn-id: https://core.svn.wordpress.org/trunk@50660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
F-Wilke pushed a commit to FiliagoDev/WordPress that referenced this pull request Jul 31, 2021
This includes the following fixes:

- Generate babel polyfill dynamically WordPress/gutenberg#31279
- Improve the List View component WordPress/gutenberg#31290 WordPress/gutenberg#32063
- Template mode:
    - Fix embed dimensions WordPress/gutenberg#32057
    - Update the welcome guide WordPress/gutenberg#32055 WordPress/gutenberg#32026
    - Don’t display the notice at the same time as the welcome guide WordPress/gutenberg#32076
    - Remove MetaBoxes WordPress/gutenberg#32315
    - Update the title area WordPress/gutenberg#32037 
- Widgets Screen:
    - Fix unsaved changes WordPress/gutenberg#31757
    - Fix toolbar alignment WordPress/gutenberg#31991
    - Fix block toolbar position after scroll WordPress/gutenberg#32212
    - Fix the visible widget area header WordPress/gutenberg#32262
    - Fix legacy widgets preview WordPress/gutenberg#32260
    - 
- Block Widgets in the customizer: 
    - Fix customizer title overlapping block toolbar WordPress/gutenberg#32140
    - Fix styling issues WordPress/gutenberg#32072
    - Fix escape key events WordPress/gutenberg#32175
    - Add preferences menu group label WordPress/gutenberg#32259
    - Fix creating and replacing legacy widgets WordPress/gutenberg#32005
    - Fix the welcome guide’s image WordPress/gutenberg#32264 WordPress/gutenberg#32302 
- Fix Cover to Image transform duotone error WordPress/gutenberg#32006
- Remove filter_var usage from blocks WordPress/gutenberg#32046 
- Fix image width for aligned Post Featured Image block WordPress/gutenberg#32070
- Prevent excessive Image block re-rendering WordPress/gutenberg#32102
- Remove gutenberg domain from core blocks WordPress/gutenberg#32152
- Use the block editor context class for the the different settings filters WordPress/gutenberg#32159
- Fix Latest Posts block grid view WordPress/gutenberg#32160
- Fix preset classes generation per block WordPress/gutenberg#32190
- Fix logic to enable custom colors and gradients WordPress/gutenberg#32200
- Update the Site Logo logic to use a dedicated site option WordPress/gutenberg#32229
- Limit the Latest Posts block’s featured image width WordPress/gutenberg#32245
- Remove opacity animation in the canvas. WordPress/gutenberg#32266
- Make the focus style valid CSS WordPress/gutenberg#32305
- Fix theme.json styles for the core/list block WordPress/gutenberg#32343
- Fix PHP notice when calling render_block WordPress/gutenberg#32135

Props nosolosw, noisysocks.
See #52991.

Built from https://develop.svn.wordpress.org/trunk@51051


git-svn-id: http://core.svn.wordpress.org/trunk@50660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants