WordPress.org

Make WordPress Core

Ticket #24404: post-format-image-no-link.patch

File post-format-image-no-link.patch, 2.4 KB (added by jakemgold, 14 months ago)

conceptually returns post format image without link...

  • wp-includes/media.php

     
    24202420 * 
    24212421 * @param string $attached_size If an attached image is found, the size to display it. 
    24222422 * @param WP_Post $post Optional. Used instead of global $post when passed. 
     2423 * @param bool $link Wrap the returned image in its link, if available. 
    24232424 * @return string HTML for the image. Blank string if no image is found. 
    24242425 */ 
    2425 function get_the_post_format_image( $attached_size = 'full', &$post = null ) { 
     2426function get_the_post_format_image( $attached_size = 'full', &$post = null, $link = true ) { 
    24262427        if ( empty( $post ) ) 
    24272428                $post = get_post(); 
    24282429 
     
    24302431                return ''; 
    24312432 
    24322433        $cache_key = "image:{$attached_size}"; 
     2434        if ( ! $link ) 
     2435                $cache_key .= '-nolink'; 
    24332436 
    24342437        if ( isset( $post->format_content[ $cache_key ] ) ) 
    24352438                return $post->format_content[ $cache_key ]; 
     
    24412444        $meta = get_post_format_meta( $post->ID ); 
    24422445 
    24432446        $link_fmt = '%s'; 
    2444         if ( ! empty( $meta['url'] ) ) 
     2447        if ( $link && ! empty( $meta['url'] ) ) 
    24452448                $link_fmt = '<a href="' . esc_url( $meta['url'] ) . '">%s</a>'; 
    24462449 
    24472450        if ( ! empty( $meta['image'] ) ) { 
     
    24522455                                $image = sprintf( $link_fmt, $image ); 
    24532456                } elseif ( has_shortcode( $meta['image'], 'caption' ) ) { 
    24542457                        // wrap <img> in <a> 
    2455                         if ( ! empty( $meta['url'] ) && false === strpos( $meta['image'], '<a ' ) ) { 
     2458                        if ( $link && ! empty( $meta['url'] ) && false === strpos( $meta['image'], '<a ' ) ) { 
    24562459                                $meta['image'] = preg_replace( 
    24572460                                        '#(<img[^>]+>)#', 
    24582461                                        sprintf( '<a href="%s">$1</a>', esc_url( $meta['url'] ) ), 
     
    24882491                                $image = str_replace( $matched_html, wp_get_attachment_image( $attachment_id, $attached_size ), $image ); 
    24892492                } 
    24902493 
    2491                 if ( false === strpos( $image, '<a ' ) ) 
     2494                if ( $link && false === strpos( $image, '<a ' ) ) 
    24922495                        $post->format_content[ $cache_key ] = sprintf( $link_fmt, $image ); 
    24932496                else 
    24942497                        $post->format_content[ $cache_key ] = $image; 
     
    25482551                        $post->format_content[ $cache_key ] = sprintf( $link_fmt, $image ); 
    25492552                } else { 
    25502553                        $post->format_content[ $cache_key ] = $matched; 
    2551                         if ( ! empty( $meta['url'] ) && false === stripos( $matched, '<a ' ) ) 
     2554                        if ( $link && ! empty( $meta['url'] ) && false === stripos( $matched, '<a ' ) ) 
    25522555                                $post->format_content[ $cache_key ] = sprintf( $link_fmt, $matched ); 
    25532556                } 
    25542557                return $post->format_content[ $cache_key ];