From 31fa37f06d824b8de95ed0a75e4a5ef769e430e9 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 16 Sep 2019 14:47:53 +0000 Subject: [PATCH] Code Modernisation: Remove redundant PHP 4 code from `do_action()`. As of PHP 5, objects are always passed by reference, so this has not been needed for quite some time. Props jrf. See #47678. git-svn-id: https://develop.svn.wordpress.org/trunk@46149 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/plugin.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/wp-includes/plugin.php b/src/wp-includes/plugin.php index 3e021bbdd8..1f6cacd5b4 100644 --- a/src/wp-includes/plugin.php +++ b/src/wp-includes/plugin.php @@ -448,10 +448,11 @@ function do_action( $tag, $arg = '' ) { ++$wp_actions[ $tag ]; } + $all_args = func_get_args(); + // Do 'all' actions first if ( isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $tag; - $all_args = func_get_args(); _wp_call_all_hook( $all_args ); } @@ -466,14 +467,11 @@ function do_action( $tag, $arg = '' ) { $wp_current_filter[] = $tag; } - $args = array(); - if ( is_array( $arg ) && 1 == count( $arg ) && isset( $arg[0] ) && is_object( $arg[0] ) ) { // array(&$this) - $args[] =& $arg[0]; - } else { - $args[] = $arg; - } - for ( $a = 2, $num = func_num_args(); $a < $num; $a++ ) { - $args[] = func_get_arg( $a ); + $args = $all_args; + array_shift( $args ); + + if ( empty( $args ) ) { + $args = array( '' ); } $wp_filter[ $tag ]->do_action( $args );