Get_the_Post_Thumbs()不采用样式属性

时间:2011-06-27 作者:Sisir

这似乎很容易,但它给了我一段相当艰难的时间。get_the_post_thumbnail() 假设将属性作为数组。嗯,一切正常,但当我通过style attr时,它就不起作用了。

$attr = array(
                                \'title\' => get_the_title(),
                                \'alt\' => get_the_title(),
                                \'style\' => \'float:left\'
                            );

$thumb = get_the_post_thumbnail($post->ID, \'large-thumb\', $attr);
虽然title和alt属性设置得很好,但图像中缺少style属性。

仅供参考:我正在rss提要中显示缩略图。

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

get_the_post_thumbnail 属性数组不知道STYLE , 可供您使用的字段包括:

  • src
  • class
  • alt
  • title
所以只需使用类并为其定义类即可:

$attr = array(
                                \'title\' => get_the_title(),
                                \'alt\' => get_the_title(),
                                \'class\' => \'rss_thumb\'
                            );
$thumb = get_the_post_thumbnail($post->ID, \'large-thumb\', $attr);
然后在类中定义样式:

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

Update:

我糟糕的rss提要实际上可以设计成HTML样式,因为它不是HTML。因此,要解决这个问题,您需要将图像放在内容标签中,并为其设置align=“left”,这应该适用于大多数rss阅读器。

因此,您真正想要的是添加content\\u筛选器:

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;
}

SO网友:Celso Bessa

我在Isabel Castillo的博客上偶然发现了一个更好、更全球化的解决方案,通过使用wp_get_attachment_image_attributes 过滤器:

function isa_add_img_title( $attr, $attachment = null ) {
    $attr[\'title\'] = trim( strip_tags( $attachment->post_title ) );
    return $attr;
}
add_filter( \'wp_get_attachment_image_attributes\',\'isa_add_img_title\', 10, 2 );
这样,您还可以添加其他属性(例如。data-caption)

上的原始代码http://isabelcastillo.com/add-title-attribute-wordpress-image-thumbnail

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢