通过url change global在staging上获取实时wordpress图像

时间:2016-09-09 12:30:51

标签: jquery wordpress migration

我需要从live wordpress网站设置本地暂存。实时网站包含超过200K的图像。

我的想法是把JS改变文件路径所有包含上传文件夹的图像src。

例如:

直播:http://www.example.com/wp-content/uploads/2016/01/roll-up-250x250.png

Dev:http://www.localhost/project/wp-content/uploads/2016/01/roll-up-250x250.png

有没有办法做到这一点。这只需要在uploads文件夹上的图像不用于主题设计文件。

1 个答案:

答案 0 :(得分:1)

您可以通过循环显示图片src值来使用JavaScript执行此操作,并测试它是否位于&w; / wp-content / uploads /'目录,如果这样做域的字符串替换。

// this is the pattern we match against
var regexPattern = "/wp-content/uploads/";
// turn the pattern into a regular expression
var regExp = new RegExp(regexPattern);
// get an array of the images
var images=document.querySelectorAll('img');
// loop through each array item
[].forEach.call(images,function(img){
    // test if the src matches the pattern of containing '/wp-content/uploads'
    if(regExp.test(img.src)){
        // replace the test domain with the live domain
        img.src=img.src.replace('www.localhost/project','www.example.com');
    }
});

这可能是一种更优雅的匹配方式,但我故意以过于冗长的方式使用正则表达式,以便可以很容易地将此​​代码扩展为简单易用的函数。

P.S。我只是在Chrome中的JavaScript控制台中运行它来测试它,但它可以非常容易地包含在MU插件文件中,并echo到页面上的<script>