+/**
+ * Filters post thumbnail lookup to set the post thumbnail.
+ *
+ * @since 4.6.0
+ * @access private
+ *
+ * @param null|array|string $value The value to return - a single metadata value, or an array of values.
+ * @param int $post_id Post ID.
+ * @param string $meta_key Meta key.
+ * @return null|array The default return value or the post thumbnail meta array.
+ */
+function _wp_preview_post_thumbnail_filter( $value, $post_id, $meta_key ) {
+ if ( ! $post = get_post() ) {
+ return $value;
+ }
+
+ if ( empty( $_REQUEST['_thumbnail_id'] ) || $post->ID != $post_id || '_thumbnail_id' != $meta_key || 'revision' == $post->post_type ) {
+ return $value;
+ }
+
+ $thumbnail_id = intval( $_REQUEST['_thumbnail_id'] );
+ if ( $thumbnail_id <= 0 ) {
+ return '';
+ }
+
+ return strval( $thumbnail_id );
+}
+