Opened 12 years ago
Closed 7 months ago
#21321 closed enhancement (invalid)
Remove is_null() checks in apply_filters(), do_action(), et al.
Reported by: | nacin | Owned by: | nacin |
---|---|---|---|
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.
Change History (9)
#2
@
12 years ago
- Owner set to nacin
- Resolution set to fixed
- Status changed from new to closed
In [21287]:
#13
@
12 years ago
- Resolution fixed deleted
- Status changed from closed to reopened
Some side effects here, due to our janky current() loop and self-removal of actions. see [UT935]
This requires either #21169 or a change to remove_filter().