如何使用WP Offload S3 Wordpress插件获取帖子缩略图

时间:2016-04-15 12:38:50

标签: php wordpress amazon-s3

对于我在WP网站上发布的帖子,我使用此代码获取缩略图的网址:

{{1}}

我已经安装了WP Offload S3插件,但是我的代码返回了本地文件网址而不是S3网址。

你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

我终于找到了在数据库中搜索的方法。我在postmeta表中找到了一个数据“amazonS3_info”,其中包含生成文件URL所需的所有信息:

function get_s3_thumb($post_id){

    $thum_id = get_post_thumbnail_id($post_id);
    $meta = get_post_meta($thum_id, 'amazonS3_info');
    if(count($meta)){
        // The file exist in S3
        $meta = $meta[0];
        $url = ($_SERVER['HTTPS'] == 'on')?'https':'http';
        $url.= '://s3-';
        $url.= $meta['region'];
        $url.= '.amazonaws.com/';
        $url.= $meta['bucket'];
        $url.= '/';
        $url.= $meta['key'];
    }else{
        // The file dosen't exist in S3
        $url = get_guid($thum_id);
        if($_SERVER['HTTPS'] == 'on'){
            $url = str_replace('http', 'https', $url);
        }
    }

    return $url;
}

如果有人有一天需要,我会发布我的功能。

答案 1 :(得分:1)

如果您有附件ID,请尝试改为:

wp_get_attachment_url( $attachment->ID )

这将为您提供S3网址。