get_the_post_thumbnail() doesn’t taking style attribute

get_the_post_thumbnail attribute array doesn’t know STYLE , the fields that are available for you to use are:

  • src
  • class
  • alt
  • title

so just use the class and define you class to it:

$attr = array(
                                'title' => get_the_title(),
                                'alt' => get_the_title(),
                                'class' => 'rss_thumb'
                            );
$thumb = get_the_post_thumbnail($post->ID, 'large-thumb', $attr);

and then define the style in the class:

<style>
.rss_thumb{float:left}
</style>

Update:

My bad rss feed can really be styled like HTML since its not HTML. so to over come this problem you need to have your image inside the content tag and give it an align=”left” which should work in most rss readers.

so what you really want is to add a content_filter:

add_filter('the_content','add_rss_thumb');

function add_rss_thumb($content){
    if (!is_feed()){
        return $content;
    }

    //now that we know is a feed we add the image to the content:
    global $post;
    if(has_post_thumbnail()) {
        $post_thumbnail_id = get_post_thumbnail_id( $post->ID );
        $thumbnail_attributes = wp_get_attachment_image_src( $post_thumbnail_id );
        /*
            $thumbnail_attributes is an array containing: 
            [0] => url
            [1] => width
            [2] => height 
        */

        return '<img src="'.thumbnail_attributes[0].'" title="'.the_title_attribute('','',0).'" alt="'.the_title_attribute('','',0).'" align="left">'.$content;
    }
    return $content;
}

Leave a Comment