Commit d9b3aabb authored by Sergey Biryukov's avatar Sergey Biryukov
Browse files

Consistently return a WP_Error object in case of an error in wp_update_nav_menu_item().

props bootsz, ocean90.
fixes #21652.
Built from https://develop.svn.wordpress.org/trunk@27251


git-svn-id: https://core.svn.wordpress.org/trunk@27108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
parent 06082188
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
 * @param int $menu_id The ID of the menu. Required. If "0", makes the menu item a draft orphan.
 * @param int $menu_item_db_id The ID of the menu item. If "0", creates a new menu item.
 * @param array $menu_item_data The menu item's data.
 * @return int The menu item's database ID or WP_Error object on failure.
 * @return int|WP_Error The menu item's database ID or WP_Error object on failure.
 */
function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item_data = array() ) {
	$menu_id = (int) $menu_id;
@@ -288,8 +288,13 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item

	$menu = wp_get_nav_menu_object( $menu_id );

	if ( ( ! $menu && 0 !== $menu_id ) || is_wp_error( $menu ) )
	if ( ! $menu && 0 !== $menu_id ) {
		return new WP_Error( 'invalid_menu_id', __( 'Invalid menu ID.' ) );
	}

	if ( is_wp_error( $menu ) ) {
		return $menu;
	}

	$defaults = array(
		'menu-item-db-id' => $menu_item_db_id,