diff --git i/src/wp-includes/post-functions.php w/src/wp-includes/post-functions.php
index 3338447..58fe5f9 100644
--- i/src/wp-includes/post-functions.php
+++ w/src/wp-includes/post-functions.php
@@ -4857,30 +4857,48 @@ function wp_get_attachment_url( $post_id = 0 ) {
  * Retrieve thumbnail for an attachment.
  *
  * @since 2.1.0
+ * @since 4.4.0 `$post` can be a post ID or WP_Post object. `$size` is a parameter.
+ * @since 4.4.0 `$size` is an optional parameter, allow to specify the attachment thumbnail.
  *
- * @param int $post_id Optional. Attachment ID. Default 0.
- * @return string|false False on failure. Thumbnail file path on success.
+ * @param null|int|WP_Post $post Optional. Attachment ID or WP_Post object. Default null.
+ * @param string $size Optional. Attachment size. Default thumb.
+ *
+ * @return false|string False on failure. Thumbnail file path on success.
  */
-function wp_get_attachment_thumb_file( $post_id = 0 ) {
-	$post_id = (int) $post_id;
-	if ( !$post = get_post( $post_id ) )
+function wp_get_attachment_thumb_file( $post = null, $size = 'thumb' ) {
+	$post = get_post( $post );
+	if ( ! $post ) {
 		return false;
-	if ( !is_array( $imagedata = wp_get_attachment_metadata( $post->ID ) ) )
+	}
+
+	$image_data = wp_get_attachment_metadata( $post->ID );
+	if ( ! is_array( $image_data ) ) {
 		return false;
+	}
 
 	$file = get_attached_file( $post->ID );
+	$thumb_file = '';
 
-	if ( !empty($imagedata['thumb']) && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file)) && file_exists($thumbfile) ) {
+	if( 'thumb' === $size ) {
+		$thumb_file = ! empty( $image_data['thumb'] ) ? str_replace( basename( $file ), $image_data['thumb'], $file ) : '';
+	} elseif( isset( $image_data['sizes'][$size] ) ) {
+		$thumb_file = str_replace( basename( $file ), $image_data['sizes'][$size]['file'], $file );
+	}
+
+	if ( ! empty( $thumb_file ) && file_exists( $thumb_file ) ) {
 		/**
 		 * Filter the attachment thumbnail file path.
 		 *
 		 * @since 2.1.0
+		 * @since 4.4.0 `$size` the specified size.
 		 *
-		 * @param string $thumbfile File path to the attachment thumbnail.
+		 * @param string $thumb_file File path to the attachment thumbnail.
 		 * @param int    $post_id   Attachment ID.
+		 * @param string $size   Attachment size.
 		 */
-		return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );
+		return apply_filters( 'wp_get_attachment_thumb_file', $thumb_file, $post->ID, $size );
 	}
+
 	return false;
 }
 
