Make WordPress Core

Opened 8 years ago

Last modified 5 years ago

#15264 closed defect (bug)

if a term is shared: delete this term delete ever nav menu item ! — at Initial Version

Reported by: michelwppi Owned by:
Milestone: 3.7 Priority: normal
Severity: major Version: 3.0.1
Component: Taxonomy Keywords: has-patch 3.2-early commit
Focuses: Cc:


Using other taxonomies since WP 2.3 in plugin xili-dictionary , I just discover that now (since WP. 3.0) when deleting a term of his taxonomy, a menu item can disappear.
In which conditions ? When the term (i.e. news) is shared by taxonomy category and the plugin taxonomy named dictionary ?
After deep tests (thanks to the night when time changes from summer to winter time), I can also reproduce it in current conditions : when a term is shared between taxonomies category and post_tag : If you delete the tag (i.e my test), if a category 'my test' exists and was active inside a navigation menu : the nav menu item disappear (unpleasant)- .

The cause of this unexpected erasing, was the action hook delete_term at end of wp_delete_term function and precisely the default filter _wp_delete_tax_menu_item. The add_action in default-filter.php (line 233) don't pass the 3 parameters and the function (menu-nav.php line 700) don't verify if it is possible to delete the menu item (as well done for term in other taxonomies in wp_delete_term itself) by testing the params and the taxonomy of the menu item content.

Today workaround in plugins using new taxonomies : remove filter before deleting a term on concerned taxonomies and add it after.

Hope that explanations were explicit.

Best regards

Change History (0)

Note: See TracTickets for help on using tickets.