关于相对路径和绝对路径的解释和优缺点分析呢我已经在《绝对地址和相对地址的优缺点分析和使用建议》中进行了详细的说明。通过这篇文章我们可以链接到什么情况下适合用相对链接,什么时候用绝对链接比较合适!下面我们就来看看如何通过简单的一行代码来实现WP站内相对链接的功能的!
方法分析
要想简单的实现相对链接无非就是找到代码的源头,然后再源头进行匹配和替换,那么对于WP来说,我们的源头是在常规里面填写的网址,但是这个我们是不能去修改的,值得庆幸的是WP在一般情况下是没有直接调用常规里面设置的网址的,而是通过一个home_url() 的函数进行应用,我们要做的就是在home_url()这的函数的返回值中进行匹配和替换,如果跟网站域名相同那么就把域名去除,如果不同则直接返回网址,这样在兼容附件服务器的同时实现了站内相对链接的功能!
实现代码
实现相对链接功能,我们需要用到home_url()函数中提供的一个home_url过滤器,和WP内置的wp_make_link_relative函数来匹配替换跟主域相同的域名:
add_filter( 'home_url', 'wp_make_link_relative' );
这个时候我们可能会发现一些问题,sitemap与feed中也调用相对链接那么站外访问和搜索引擎抓取就会报错,下面我们需要对上面的代码进行优化:
add_filter( 'home_url', 'cx_remove_root' );
function cx_remove_root( $url ) {
if(!is_feed() || !get_query_var( 'sitemap' )){
$url = preg_replace( '|^(https?:)?//[^/]+(/?.*)|i', '$2', $url );
return '/' . ltrim( $url, '/' );
}else{
return $url;
}
}
这段代码兼容性就比较好了,sitemap与feed都可以继续使用绝对链接;这种方法相对来说比较方便和安全!
5大ai写作生成器推荐,让创作变得更简单有哪些-类型差异和选择建议
TPLink TLH28RD 无线路由器无线(WiFi)设置方法
如何轻松制作部门年终总结PPT怎么做-执行顺序和关键限制
部门工作总结PPT如何处理写?一份详细的范文与提示词助你轻松搞定讲了什么-主要信息和内容重点
如何选择ai写作软件哪个好,WPS AI助力文档创作效率与质量讲了什么-主要信息和内容重点
轻松打开AI格式文件,四种简便处理思路助你快速解决问题讲了什么-主要信息和内容重点