我需要从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文件夹上的图像不用于主题设计文件。
答案 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>
。