entity-command icon indicating copy to clipboard operation
entity-command copied to clipboard

wp menu item add-custom|add-post|add-term Doesn't Calculate menu_order

Open daleharrison opened this issue 7 years ago • 4 comments

$ wp menu item add … takes the --position argument literally and inserts it into the database exactly as specified. This is a problem when you are trying to insert one menu item between two others.

For example, on a site that already has a handful of menu links (one of which is in position 3), let's add an item like so:

$ wp menu item add-post example-menu 123 --position=3

In the wp_posts table, the two menu links will have the same menu_order value. This creates mixed results on the frontend of WordPress.

Now, if I go to the menu manager in WordPress and click Save Menu, WordPress recalculates and updates the duplicate menu_order values.

Can WP-CLI do what WordPress is doing here?

daleharrison avatar Dec 13 '18 20:12 daleharrison

Yup, I experience this too... After using --position option, my db results also show duplicated menu_order values.

wp_posts table:

menu_order
-----------
1
2
3 <- duplicate
3 <- duplicate
4
5
6


ddarbyson avatar Dec 14 '18 02:12 ddarbyson

Here's a screenshot to show wp_posts table when filtering by nav_menu_item

screenshot 2018-12-13 21 27 05

ddarbyson avatar Dec 14 '18 02:12 ddarbyson

Hi there @schlessera

I'm new to github (and your project). Can I ask you to review this commit: https://github.com/petruchek/entity-command/commit/03110087f70a1e153b594333ef0274a91b4ea7cc

My questions are:

  1. Does this approach look like the proper way to fix this bug?
  2. If yes, what tests do you suggest I add before sending a PR?

N.B. I'm also changing menu orders when delete command is called.

Here's the branch: https://github.com/petruchek/entity-command/tree/wp-cli-issue-5047 since I'm adding to it

petruchek avatar Nov 05 '19 16:11 petruchek

Hi there, please have a look at the following PR: https://github.com/wp-cli/entity-command/pull/275 and let me know what's missing.

petruchek avatar Nov 28 '19 10:11 petruchek