Make WordPress Core

Opened 16 years ago

Closed 16 years ago

#13249 closed defect (bug) (fixed)

Menu item parent property

Reported by: filosofo Owned by: filosofo
Priority: normal Milestone: 3.0
Component: Menus Version: 3.0
Severity: major Keywords: has-patch
Cc: Focuses:

Description (last modified by filosofo)

Currently, the hierarchy of menu items works haphazardly: a menu item's parent is determined by its post_parent property, which is the database ID of the item's original object.

This introduces a number of bugs because menu item original objects can be either taxonomy objects or post objects, each group of which has its own independent set of database IDs. So try to order a mixture of taxonomy menu items and post type menu items, and you get inconsistent (sometimes non-functional) results.

Patch introduces the menu item property menu_item_parent, which determines the hierarchical placement of the given menu item. menu_item_parent refers to the menu item DB ID of its parent, if any, which is internally consistent because all menu item objects are post objects.

Attachments (1)

menu_item_parent.13249.diff​ (7.8 KB ) - added by filosofo 16 years ago.

Download all attachments as: .zip

Change History (8)

#1 @filosofo
16 years ago

  • Description modified (diff)

#2 @filosofo
16 years ago

  • Description modified (diff)

#3 @duck_
16 years ago

Related: #13037

#4 @nacin
16 years ago

  • Resolution → fixed
  • Status new → closed

(In [14450]) Non-JS menu ordering fixes, also parent handling fixes. props filosofo, fixes #13135, fixes #13249

#5 @dickie
16 years ago

  • Resolution fixed
  • Status closed → reopened

I'm not sure if this is the fix that broke it, up to the point that this was checked in the menu were working OK, but it is now not possible to save menu items as children. You can physically move them, but once saved the hierarchy is lost.
(Note this is with Javascript ENABLED.)

#6 @filosofo
16 years ago

dickie, please see #13256 and re-up.

#7 @filosofo
16 years ago

  • Resolution → fixed
  • Status reopened → closed
Note: See TracTickets for help on using tickets.