更改WordPress的输出网址[图库]短代码

时间:2017-01-19 18:44:07

标签: wordpress gallery

我最近安装了ta插件,现在将我的图像从媒体库上传到s3。

我还将FTP的整个上传文件夹发送到s3,其中包含大约4000张图片。

我在我的网站中使用了wordpress gallery短代码然而在某处并以某种方式输出了siteurl。

如何更改此设置以便我可以覆盖我的S3存储桶中的网址?

我承认我不知道我在这里做什么或从哪里开始,我真的很感激你的帮助:)

3 个答案:

答案 0 :(得分:2)

您可以过滤图片src属性输出,并将旧网址替换为新网址,如下所示。将以下代码复制到您的主题functions.php,并将www.oldurl.comwww.newurl.com替换为您自己的网址。

add_filter('wp_get_attachment_image_src', function ($image) {
    if(is_array($image)){
        $image[0] = str_replace('www.oldurl.com', 'www.newurl.com', $image[0]);
    }

    return $image;
}, 999);

答案 1 :(得分:2)

查看wp_get_upload_dir(),这是wp_upload_dir()的包装器,这又是_wp_upload_dir()的包装器,我们看到可以通过upload_url_path选项修改上传网址。

由于您要将所有上传内容移至S3,因此您可以尝试将S3存储桶基本网址添加到upload_url_path选项中。

您应该首先在开发安装上对此进行测试,以了解它如何与您当前的设置配合使用。

答案 2 :(得分:1)

您可能想要进行搜索&通过数据库替换。

您可以在此处看到如何创建SQL查询以更改帖子中的图像路径:13 Useful WordPress Queries

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';