Opened 11 years ago
Last modified 4 years ago
#21321 reopened enhancement
Remove is_null() checks in apply_filters(), do_action(), et al.
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | |
Component: | Plugins | Keywords: | dev-feedback |
Focuses: | performance | Cc: |
Description
In apply_filters(), do_action(), and friends, there is a check for ! is_null( $the['function'] )
. As these functions get called collectively thousands of times per page, a tiny check like this can add up.
A few months ago, I decided to track it down. They were shuffled around a bit in [4955], but they actually had roots in [1394]. The link there (http://www.kackreiz.net/wordpress.php) is dead, but I found it at http://www.kackreiz.net/wordpress/apply_filters.html#fixed, via http://wordpress.org/support/topic/bug-in-remove_filterapply_filters?replies=3.
The original bug was that remove_filter() left NULL's in the $wp_filter array, rather than properly unsetting it as it was modified to do long ago. Now that we no longer leave NULL scattered about, this check is safe to remove.
This requires either #21169 or a change to remove_filter().