Meta boxes: Don't show the block editor incompatiblity message when it doesn't apply.

We should only be showing this message in the classic editor interface, for meta boxes that are marked as being incompatible with the block editor.

Fixes #45207.



git-svn-id: https://develop.svn.wordpress.org/branches/5.0@43839 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2018-10-29 04:02:40 +00:00
parent cdb35577d2
commit b2bd3994d4

View File

@ -1052,6 +1052,7 @@ function do_meta_boxes( $screen, $context, $object ) {
if ( false == $box || ! $box['title'] )
continue;
$block_compatible = true;
if ( is_array( $box[ 'args' ] ) ) {
// If a meta box is just here for back compat, don't show it in the block editor.
if ( $screen->is_block_editor() && isset( $box['args']['__back_compat_meta_box'] ) && $box['args']['__back_compat_meta_box'] ) {
@ -1063,7 +1064,6 @@ function do_meta_boxes( $screen, $context, $object ) {
continue;
}
$block_compatible = true;
if ( isset( $box['args']['__block_editor_compatible_meta_box'] ) ) {
$block_compatible = (bool) $box['args']['__block_editor_compatible_meta_box'];
unset( $box['args']['__block_editor_compatible_meta_box'] );
@ -1095,7 +1095,7 @@ function do_meta_boxes( $screen, $context, $object ) {
echo "<h2 class='hndle'><span>{$box['title']}</span></h2>\n";
echo '<div class="inside">' . "\n";
if ( WP_DEBUG && ! $screen->is_block_editor() && ! isset( $_GET['meta-box-loader'] ) ) {
if ( WP_DEBUG && ! $block_compatible && 'edit' === $screen->parent_base && ! $screen->is_block_editor() && ! isset( $_GET['meta-box-loader'] ) ) {
if ( is_array( $box['callback'] ) ) {
$reflection = new ReflectionMethod( $box['callback'][0], $box['callback'][1] );
} elseif ( false !== strpos( $box['callback'], '::' ) ) {