Add Object Page has no Position Parameter
|Reported by:||chriscct7||Owned by:|
I found this bug while installing Easy Digital Downloads, and then proceeding to install Contact 7. What happens is, Contact 7 has a menu conflict with EDD, so that EDD drops off the menu. While looking into this Pippin (EDD's author) informed me of a similar issue with Gravity Forms and EDD. Both were using add_object_page, a function previously unknown to me. So I looked it up in the [Codex](http://codex.wordpress.org/Function_Reference/add_object_page) where it says that there's an optional position parameter. Contact 7 was not using it, so I added it to their add_object_page call and time and time again nothing happened. I noticed on the Codex page it says "This essentially does the exact same thing as add_menu_page() in case you're wondering." So I swapped that in and the menu position of Contact 7 changed, thus restoring EDD.
So then, I became curious why Contact 7 always wants to be at the bottom. After all, at one point it's position parameter was even set to 1 and it was still at the bottom.
Yet you'll notice [here](http://core.trac.wordpress.org/browser/tags/3.5/wp-admin/includes/plugin.php#L946) in the trunk for WP 3.5 and also verified in 3.4.2 that there is ,in fact, no position parameter in that call.
Therefore, the Codex article is wrong. However, seeing that plugins are clashing over a lack of position parameter, I would suggest:
- Parameter be added for position
- Position parameter should be mandatory. This will prevent countless plugin conflicts while only requiring two extra characters for programmers.
I also propose the position parameter be changed to mandatory for add_menu_page as well.
Change History (12)
- Keywords close added
- Severity changed from major to normal
- Type changed from defect (bug) to enhancement
comment:8 SergeyBiryukov — 16 months ago
- Keywords close removed
- Milestone Awaiting Review deleted
- Resolution set to wontfix
- Status changed from new to closed