前言
WordPress 在插入附件的时候会直接把附件的URL绝对地址写到数据库里,如 http://www.abc.com/wp-content/uploads/tupian.jpg,如果网站设置https或迁移网站了这些url就可能会出错。
那么该怎么样设置成:插入附件的时候用相对地址 /wp-content/uploads/tupian.jpg 呢?几行代码就能实现
方案
WordPress 官方论坛的这段代码会修改 WordPress 中上传的绝对路径为相对地址,代码如下:
function relativePathForUploads($fileInfos) { global $blog_id; $path = get_blog_option($blog_id,'siteurl'); $fileInfos['url'] = str_replace($path,'',$fileInfos['url']); return $fileInfos; } add_filter('wp_handle_upload', 'relativePathForUploads');
说明
把代码加入到当前theme主题的 function.php 文件中就可以了
当然,网站更换域名的时候也可以修改数据库(数据库批量替换SQL语句