Meta Boxes: Fix error when a meta box is rendered with a static method callback.

When `WP_DEBUG` is set, ensure that a static method callback is passed to `ReflectionMethod`, instead of `ReflectionFunction`.

Merges [43830] from the 5.0 branch to trunk.

Props DrewAPicture.
Fixes #45192.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Gary Pendergast 2018-12-14 05:55:53 +00:00
parent f46fbae857
commit 3eafdad299
2 changed files with 3 additions and 1 deletions

View File

@ -1187,6 +1187,8 @@ function do_meta_boxes( $screen, $context, $object ) {
if ( WP_DEBUG && ! $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'], '::' ) ) {
$reflection = new ReflectionMethod( $box['callback'] );
} else {
$reflection = new ReflectionFunction( $box['callback'] );
}

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.1-alpha-44169';
$wp_version = '5.1-alpha-44170';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.