$error =
new WP_Error();
// Check if object id exists before saving.
if ( !
$prepared_nav_item['menu-item-object'
] ) { // If taxonomy, check if term exists.
if ( 'taxonomy' ===
$prepared_nav_item['menu-item-type'
] ) { $original =
get_term( absint( $prepared_nav_item['menu-item-object-id'
] ) );
if ( empty( $original ) ||
is_wp_error( $original ) ) { $error->
add( 'rest_term_invalid_id',
__( 'Invalid term ID.'
), array
( 'status' => 400
) );
} else { $prepared_nav_item['menu-item-object'
] =
get_term_field( 'taxonomy',
$original );
} // If post, check if post object exists.
} elseif ( 'post_type' ===
$prepared_nav_item['menu-item-type'
] ) { $original =
get_post( absint( $prepared_nav_item['menu-item-object-id'
] ) );
if ( empty( $original ) ) { $error->
add( 'rest_post_invalid_id',
__( 'Invalid post ID.'
), array
( 'status' => 400
) );
} else { $prepared_nav_item['menu-item-object'
] =
get_post_type( $original );
} } }