[wp-trac] [WordPress Trac] #51254: includes/plugin.php remove_menu_page should check if $menu is array

WordPress Trac noreply at wordpress.org
Sat Sep 5 17:05:13 UTC 2020

#51254: includes/plugin.php remove_menu_page should check if $menu is array
 Reporter:  kernelzechs     |       Owner:  (none)
     Type:  defect (bug)    |      Status:  reopened
 Priority:  normal          |   Milestone:
Component:  Administration  |     Version:
 Severity:  normal          |  Resolution:
 Keywords:                  |     Focuses:
Changes (by kernelzechs):

 * status:  closed => reopened
 * resolution:  duplicate =>


 Thanks for getting back to me so quickly!

 However we saw a case related to admin_init hook where on a normal admin
 page (front-end) works as defined here:
 (also recommended in the comments depending on how quickly you needed
 something removed, in our case early)

 However when admin-ajax.php would be called it would try and run the
 admin_init hook and thus would fail since the menu isn't loaded. At the
 very least some sort of context detection would be optimal here if not a
 fix for detecting the object type prior to running. We have worked around
 the issue code wise on our end, but I would rather see it handled

 Replying to [comment:1 SergeyBiryukov]:
 > Hi there, welcome to WordPress Trac! Thanks for the report.
 > Just noting this was discussed a few times before, specifically in
 #23767 and #19937.
 > Adding an `is_array()` or `! empty()` check would remove the warning,
 but would also just hide the fact that calling the function the function
 too early or on an incorrect hook still doesn't work as expected.
 > comment:1:ticket:23767 outlines a few scenarios where this warning can
 occur. All of them are developer errors, so the developer should see that
 something is wrong. Hiding the warning would just make debugging harder.

Ticket URL: <https://core.trac.wordpress.org/ticket/51254#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list