+ /**
+ * Get the comment, if the ID is valid.
+ *
+ * @since 4.7.2
+ *
+ * @param int $id Supplied ID.
+ * @return WP_Comment|WP_Error Comment object if ID is valid, WP_Error otherwise.
+ */
+ protected function get_comment( $id ) {
+ $error = new WP_Error( 'rest_comment_invalid_id', __( 'Invalid comment ID.' ), array( 'status' => 404 ) );
+ if ( (int) $id <= 0 ) {
+ return $error;
+ }
+
+ $id = (int) $id;
+ $comment = get_comment( $id );
+ if ( empty( $comment ) ) {
+ return $error;
+ }
+
+ if ( ! empty( $comment->comment_post_ID ) ) {
+ $post = get_post( (int) $comment->comment_post_ID );
+ if ( empty( $post ) ) {
+ return new WP_Error( 'rest_post_invalid_id', __( 'Invalid post ID.' ), array( 'status' => 404 ) );
+ }
+ }
+
+ return $comment;
+ }
+