• 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
What's Hot

机械模具加工公司网站设计案例

24 10 月, 2023

快速原型公司案例

24 10 月, 2023

陶瓷加工网站案例

24 10 月, 2023
Facebook Twitter Instagram
  • 中文
  • English
Facebook Twitter Instagram
VPSEO VPSEO
  • 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
VPSEO VPSEO
Home»Wordpress»WordPress简单实现站内相对链接路径
Wordpress

WordPress简单实现站内相对链接路径

chrispengcnBy chrispengcn7 8 月, 2021没有评论1 Min Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

前几天在用户提出了一个需求,希望在自己的站内使用相对地址,但是呢在网上找的教程要么太复杂需要修改WP程序的源代码要么就是没有什么卵用,于是来向我求助有没有简单有效的方案来使用相对地址,再然后就有了今天的这篇帖子给大家带来一种非常简单,而且非常有效的方法,并非网络上那些修改修改wp源文件或者wp-config.php配置文件这些治标不治本的方案,而是wp源码中内置的功能只需做下简单调用即可!

201609257568670

关于相对路径和绝对路径的解释和优缺点分析呢我已经在《绝对地址和相对地址的优缺点分析和使用建议》中进行了详细的说明。通过这篇文章我们可以链接到什么情况下适合用相对链接,什么时候用绝对链接比较合适!下面我们就来看看如何通过简单的一行代码来实现WP站内相对链接的功能的!

方法分析

要想简单的实现相对链接无非就是找到代码的源头,然后再源头进行匹配和替换,那么对于WP来说,我们的源头是在常规里面填写的网址,但是这个我们是不能去修改的,值得庆幸的是WP在一般情况下是没有直接调用常规里面设置的网址的,而是通过一个home_url() 的函数进行应用,我们要做的就是在home_url()这的函数的返回值中进行匹配和替换,如果跟网站域名相同那么就把域名去除,如果不同则直接返回网址,这样在兼容附件服务器的同时实现了站内相对链接的功能!

实现代码

实现相对链接功能,我们需要用到home_url()函数中提供的一个home_url过滤器,和WP内置的wp_make_link_relative函数来匹配替换跟主域相同的域名:

  1. add_filter( ‘home_url’, ‘wp_make_link_relative’ );

这个时候我们可能会发现一些问题,sitemap与feed中也调用相对链接那么站外访问和搜索引擎抓取就会报错,下面我们需要对上面的代码进行优化:

  1. add_filter( ‘home_url’, ‘cx_remove_root’ );
  2. function cx_remove_root( $url ) {
  3.     if(!is_feed() || !get_query_var( ‘sitemap’ )){
  4.         $url = preg_replace( ‘|^(https?:)?//[^/]+(/?.*)|i’, ‘$2’, $url );
  5.         return ‘/’ . ltrim( $url, ‘/’ );
  6.     }else{
  7.         return $url;
  8.     }
  9. }

这段代码兼容性就比较好了,sitemap与feed都可以继续使用绝对链接;这种方法相对来说比较方便和安全!

注意事项

  1. 本教程只适用于代码比较规范的主题,不保证兼容所有主题;
  2. 教程中的代码添加到主题的functions.php文件中即可;
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
chrispengcn
  • Website

Related Posts

如何在wordpress中使用Elementor编辑器显示WooCommerce产品SKU

27 6 月, 2023

WooCommerce 教程:在类别页面中显示产品自定义字段

12 1 月, 2022

Varnish 5.1 & WordPress 带来内存级加速

9 1 月, 2022

Nginx wordpress 二级目录与二级域名泛目录配置方法

7 8 月, 2021
Add A Comment

Leave A Reply Cancel Reply

*

code

导航
  • 首页
  • 关于我们
  • 服务项目
  • 项目案例
  • 博客文章
  • 联系我们
博客
  • 服务器运维
  • 服务器安装
  • nginx
  • PHP
  • WordPress
  • Python
  • Javascript
  • SEO
  • 电子商务
  • 大数据采集
  • 宝塔面板
  • 数据库
  • 电子商务
  • 虚拟化
  • 阿里云
导航
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们
最新文章
  • 机械模具加工公司网站设计案例
  • 快速原型公司案例
  • 陶瓷加工网站案例
  • CNC数控加工日文网站案例
  • 触摸一体机数字标牌厂家网站案例
关于我们
关于我们

广州纬来科技有限公司
联系地址:广东省广州市番禺区富华中路富源二街18号合和大厦809

QQ : 13602156
Email : 13926026058@139.com
Contact: +86 13926026058

Facebook Twitter YouTube LinkedIn
© 2025 广州纬来科技有限公司 粤ICP备2023105857号-2
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们

Type above and press Enter to search. Press Esc to cancel.