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.



git-svn-id: https://develop.svn.wordpress.org/trunk@44170 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2018-12-14 05:54:34 +00:00
parent 8d897837aa
commit 9e49ba8a97
1 changed files with 2 additions and 0 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'] );
}