Skip to content

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

Open
@daleharrison

Description

@daleharrison

$ 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?

Activity

ddarbyson

ddarbyson commented on Dec 14, 2018

@ddarbyson

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

ddarbyson commented on Dec 14, 2018

@ddarbyson

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

screenshot 2018-12-13 21 27 05

petruchek

petruchek commented on Nov 5, 2019

@petruchek
Contributor

Hi there @schlessera

I'm new to github (and your project). Can I ask you to review this commit: petruchek@0311008

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

petruchek commented on Nov 28, 2019

@petruchek
Contributor

Hi there, please have a look at the following PR:
#275 and let me know what's missing.

transferred this issue fromwp-cli/wp-clion Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @schlessera@petruchek@ddarbyson@daleharrison

        Issue actions

          wp menu item add-custom|add-post|add-term Doesn't Calculate menu_order · Issue #493 · wp-cli/entity-command