Make WordPress Core


Ignore:
Timestamp:
07/07/2022 11:30:21 PM (4 years ago)
Author:
azaozz
Message:

Media:

  • Deprecate wp_get_attachment_thumb_file().
  • Make wp_get_attachment_thumb_url() an alias of wp_get_attachment_image_url(). This fixes it to return the proper thumbnail URL and fall back to returning the URL to image_meta['thumb'] if only that exists.

Props: markhowellsmead, mukesh27, csesumonpro, SergeyBiryukov, mikeschroder, killua99, joemcgill, mashukushibiki, mfgmicha, swissspidy, romulodl, nacin, JoshuaAbenazer, wonderboymusic, lonnylot, azaozz.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/post.php

    r53559 r53685  
    67036703
    67046704/**
    6705  * Retrieves thumbnail for an attachment.
     6705 * Retrieves URL for an attachment thumbnail.
    67066706 *
    67076707 * @since 2.1.0
    6708  *
    6709  * @param int $post_id Optional. Attachment ID. Default is the ID of the global `$post`.
    6710  * @return string|false Thumbnail file path on success, false on failure.
    6711  */
    6712 function wp_get_attachment_thumb_file( $post_id = 0 ) {
    6713         $post_id = (int) $post_id;
    6714         $post    = get_post( $post_id );
    6715 
    6716         if ( ! $post ) {
    6717                 return false;
    6718         }
    6719 
    6720         $imagedata = wp_get_attachment_metadata( $post->ID );
    6721         if ( ! is_array( $imagedata ) ) {
    6722                 return false;
    6723         }
    6724 
    6725         $file = get_attached_file( $post->ID );
    6726 
    6727         if ( ! empty( $imagedata['thumb'] ) ) {
    6728                 $thumbfile = str_replace( wp_basename( $file ), $imagedata['thumb'], $file );
    6729                 if ( file_exists( $thumbfile ) ) {
    6730                         /**
    6731                          * Filters the attachment thumbnail file path.
    6732                          *
    6733                          * @since 2.1.0
    6734                          *
    6735                          * @param string $thumbfile File path to the attachment thumbnail.
    6736                          * @param int    $post_id   Attachment ID.
    6737                          */
    6738                         return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );
    6739                 }
    6740         }
    6741         return false;
    6742 }
    6743 
    6744 /**
    6745  * Retrieves URL for an attachment thumbnail.
    6746  *
    6747  * @since 2.1.0
     6708 * @since 6.1.0 Changed to use wp_get_attachment_image_url().
    67486709 *
    67496710 * @param int $post_id Optional. Attachment ID. Default is the ID of the global `$post`.
     
    67526713function wp_get_attachment_thumb_url( $post_id = 0 ) {
    67536714        $post_id = (int) $post_id;
    6754         $post    = get_post( $post_id );
    6755 
    6756         if ( ! $post ) {
     6715
     6716        // This uses image_downsize() which also looks for the (very) old format $image_meta['thumb']
     6717        // when the newer format $image_meta['sizes']['thumbnail'] doesn't exist.
     6718        $thumbnail_url = wp_get_attachment_image_url( $post_id, 'thumbnail' );
     6719
     6720        if ( empty( $thumbnail_url ) ) {
    67576721                return false;
    67586722        }
    6759 
    6760         $url = wp_get_attachment_url( $post->ID );
    6761         if ( ! $url ) {
    6762                 return false;
    6763         }
    6764 
    6765         $sized = image_downsize( $post_id, 'thumbnail' );
    6766         if ( $sized ) {
    6767                 return $sized[0];
    6768         }
    6769 
    6770         $thumb = wp_get_attachment_thumb_file( $post->ID );
    6771         if ( ! $thumb ) {
    6772                 return false;
    6773         }
    6774 
    6775         $url = str_replace( wp_basename( $url ), wp_basename( $thumb ), $url );
    67766723
    67776724        /**
     
    67806727         * @since 2.1.0
    67816728         *
    6782          * @param string $url    URL for the attachment thumbnail.
    6783          * @param int    $post_id Attachment ID.
     6729         * @param string $thumbnail_url URL for the attachment thumbnail.
     6730         * @param int    $post_id       Attachment ID.
    67846731         */
    6785         return apply_filters( 'wp_get_attachment_thumb_url', $url, $post->ID );
     6732        return apply_filters( 'wp_get_attachment_thumb_url', $thumbnail_url, $post_id );
    67866733}
    67876734
Note: See TracChangeset for help on using the changeset viewer.