Menu order mixed up on moving a page
-
Repositioning a page by drag and drop sometimes doesn’t work properly. The page moves one too far up or down or cannot be moved at all.
The reason for this is a bug in cms_tpv_move_page. For the “before” case, the menu_order ist not being calculated correctly. Here’s what I did to make it work:
//replace this (line 1574 in version 1.2.4):
$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET menu_order = menu_order+1 WHERE post_parent = %d", $post_ref_node->post_parent ) );//with this:
$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET menu_order = menu_order+2 WHERE post_parent = %d AND menu_order > %d OR id = %d", $post_ref_node->post_parent, $post_ref_node->menu_order, $post_ref_node->ID ) );//delete this (line 1578):
$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET menu_order = menu_order+1 WHERE menu_order >= %d", $post_ref_node->menu_order+1) );//and in the post_to_save array replace this:
"menu_order" => $post_ref_node->menu_order//with this (just adding "+1"):
"menu_order" => $post_ref_node->menu_order+1This is almost similar to the “after” case, which is working fine already.
- The topic ‘Menu order mixed up on moving a page’ is closed to new replies.