其实对于 WordPress 开发方面来讲使用 ID 是最为方便快捷的,但是如果在 WordPress 固定链接中也使用文章 ID 等方式来展现虽然足够简单,却也失去了更加漂亮的 URL 以及关键词优化,所以最近子凡在开发百度小程序时需要充分的使用到百度智能小程序的自然搜索功能,需要提交 URL 适配规则,那么对于网站 URL 并不是 ID 的情况来说,小程序如果使用 ID 传参,这个适配规则基本就不在一个空间了。
子凡最后决定用一种最简单的方式方法,那就是直接使用 URL 链接中的路径来作为小程序的传参,这样只需要将路径和主域名拼凑起来就是完整的 URL 了,小程序规则思路大概如下:
https://www.leixue.com/ => pages/home/index
https://www.leixue.com/how-to-buy-tablet => pages/single/single?uri=how-to-buy-tablet
那么 WordPress 获取 URL 路径的方法有很多种,下面就给大家一一列举分享出来:
$path = str_replace( home_url(), '', get_permalink(get_the_ID()) );
这是一种传统的方法,就是直接通过文章 ID 来获取文章链接,然后使用 home_url()来获取网站首页,通过替换首页为空的方式来实现,此种方法子凡觉得在有点在于 WordPress 安装在二级目录的时候,获取到的路径是相对路径,就会感觉比较不错。
$path = wp_make_link_relative('https://zhangzifan.com/design/uniapp-css-deep-style-scop
将完整的 URL 路径转化成绝对路径。删除 http 或者 https 协议和域名,保留路径中开始的的 ‘/’ ,所以这不是真实的相对路径,但是基于 Web 根开始的。所以输出的结果路径是:/design/uniapp-css-deep-style-scoped.html
$path = parse_url(get_permalink(get_the_ID()), PHP_URL_PATH);
这种方式则是利用 php 的 url 解析函数 parse_url 来获取文章路径,如果 WordPress 安装在二级目录,获取的路径也是包括二级目录路径的。
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载
本文链接:https://zhangzifan.com/wordpress-get-url-path.html