https://blog.csdn.net/lizhi125/article/details/16940617
WordPress图片地址在默认编辑下是使用额绝对路径,这样别人复制你文章到其他的网站上,图片也可以正常显示,但是如果我想更改博客的域名,或者路径,那么这些图片的地址全部失效,不能正常显示。下面是两种解决Wordpress模板图片使用相对路径的方法,希望可以帮到大家。
1.修改Wordpress主题根目录下的wp-config.php,这个文件只有在安装好Wordpress之后才会出现,在该文件中加入一下两行
define(‘WP_HOME’, ”);
define(‘WP_SITEURL’, ”);
保存,OK了!但是这种修改方式是只能用户网网站根目录,并且使用默认的80端口
如果你不是用网站的根目录,或者用非80端口,那就用第二种方法
2.打开wp-includes/post.php文件,修改函数wp_get_attachment_url(3.7.1在4276行)为如下代码
function wp_get_attachment_url($post_id = 0) { $file_dir = dirname(__FILE__); $server_root = $_SERVER[DOCUMENT_ROOT]; $file_dir = substr($file_dir,strlen($server_root)); $file_dir = substr($file_dir,0,-12); if ($file_dir != ”) { $file_dir=’/’.substr($file_dir,1); } $post_id = (int) $post_id; if (!$post =& get_post($post_id)) return false; $url = ”; if ($file = get_post_meta($post->ID, ‘ _wp_attached_file’, true)) { //Get attached file if (($uploads = wp_upload_dir()) && false === $uploads['error']) { //Get upload directory if (0 === strpos($file, $uploads['basedir'])) //Check that the upload base exists in the file location //$url = str_replace($uploads['basedir'], $uploads['baseurl'], $file); //replace file location with url location $url = $file_dir.”/wp-content/uploads/”.$file; elseif (false !== strpos($file, ‘ wp-content/uploads’ )) //$url = $uploads['baseurl'] . substr( $file, strpos($file, ‘wp-content/uploads’) + 18 ); $url = $file_dir.”/wp-content/uploads/”.$file; else //$url = $uploads['baseurl'] . “/$file”; //Its a newly uploaded file, therefor $file is relative to the basedir. $url = $file_dir.”/wp-content/uploads/”.$file; } } if (empty($url)) //If any of the above options failed, Fallback on the GUID as used pre-2.7, not recomended to rely upon this. $url = get_the_guid($post->ID); if (‘ attachment’ != $post->post_type || empty($url)) return false; return apply_filters(‘ wp_get_attachment_url’, $url, $post->ID); }
保存,OK了
这样你以后写的文章日志里面的多媒体文件路径都是用相对路径了,更换域名空间之后图片地址不会失效!
本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。