Ticket #29728: wp_delete_nav_menu_item.patch
File wp_delete_nav_menu_item.patch, 2.9 KB (added by , 10 years ago) |
---|
-
wp-admin/includes/nav-menu.php
1237 1237 $menu_items_to_delete = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id WHERE post_type = 'nav_menu_item' AND post_status = 'draft' AND meta_key = '_menu_item_orphaned' AND meta_value < '%d'", $delete_timestamp ) ); 1238 1238 1239 1239 foreach( (array) $menu_items_to_delete as $menu_item_id ) 1240 wp_delete_ post( $menu_item_id, true);1240 wp_delete_nav_menu_item( $menu_item_id ); 1241 1241 } 1242 1242 add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items'); 1243 1243 … … 1291 1291 if ( ! empty( $menu_items ) ) { 1292 1292 foreach ( array_keys( $menu_items ) as $menu_item_id ) { 1293 1293 if ( is_nav_menu_item( $menu_item_id ) ) { 1294 wp_delete_ post( $menu_item_id );1294 wp_delete_nav_menu_item( $menu_item_id ); 1295 1295 } 1296 1296 } 1297 1297 } -
wp-admin/nav-menus.php
230 230 231 231 check_admin_referer( 'delete-menu_item_' . $menu_item_id ); 232 232 233 if ( is_nav_menu_item( $menu_item_id ) && wp_delete_post( $menu_item_id, true) )233 if ( wp_delete_nav_menu_item( $menu_item_id ) ) 234 234 $messages[] = '<div id="message" class="updated"><p>' . __('The menu item has been successfully deleted.') . '</p></div>'; 235 235 break; 236 236 -
wp-includes/nav-menu.php
187 187 $menu_objects = get_objects_in_term( $menu->term_id, 'nav_menu' ); 188 188 if ( ! empty( $menu_objects ) ) { 189 189 foreach ( $menu_objects as $item ) { 190 wp_delete_ post( $item );190 wp_delete_nav_menu_item( $item ); 191 191 } 192 192 } 193 193 … … 453 453 } 454 454 455 455 /** 456 * Delete a menu item. 457 * 458 * @param int $menu_item_id The ID of the menu item. Required. 459 * @return bool $result True if deletion was successful, false otherwise. 460 */ 461 function wp_delete_nav_menu_item( $menu_item_id ) { 462 $result = is_nav_menu_item( $menu_item_id ) && wp_delete_post( $menu_item_id, true ); 463 return $result; 464 } 465 466 /** 456 467 * Returns all navigation menu objects. 457 468 * 458 469 * @since 3.0.0 … … 834 845 $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'post_type' ); 835 846 836 847 foreach( (array) $menu_item_ids as $menu_item_id ) { 837 wp_delete_ post( $menu_item_id, true);848 wp_delete_nav_menu_item( $menu_item_id ); 838 849 } 839 850 } 840 851 … … 853 864 $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy ); 854 865 855 866 foreach( (array) $menu_item_ids as $menu_item_id ) { 856 wp_delete_ post( $menu_item_id, true);867 wp_delete_nav_menu_item( $menu_item_id ); 857 868 } 858 869 } 859 870