Don't intercept rendering of removed meta boxes #3856
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When a metabox is removed with
remove_metabox()
, the meta box array is updated as:$wp_meta_boxes[$page][$context][$priority][$id] = false;
When
gutenberg_intercept_meta_box_render()
loops through each of these contexts, priorities, and boxes, it partially rebuilds the previously removed metabox.Code like
do_meta_boxes()
then loops through the data and can generate a notice when$box
is no longer falsey or$box['title']
is not available.We can avoid this by skipping the rebuild of any metaboxes that do not have a
$box
array available.Introduced in #3554.
How Has This Been Tested?
Remove previously registered metaboxes with
remove_metabox()
and loading an editor page.Types of changes
Bug fix
Checklist: