如何仅从WordPress当前页面URL中提取路径部分
如何仅从WordPress当前页面URL中提取路径部分
嘿,我来教你怎么在WordPress里只提取当前页面URL的路径部分~其实不用搞复杂的操作,咱们有几种简单实用的方法,一起来看看:
方法一:利用服务器变量+解析函数
WordPress运行在服务器上,我们可以直接用$_SERVER全局变量拿到当前请求的URI,再通过parse_url函数解析出纯粹的路径部分:
// 定义函数获取当前页面路径 function get_current_page_path() { $current_uri = $_SERVER['REQUEST_URI']; $parsed_url = parse_url($current_uri); // 返回路径部分,没有的话返回空字符串 return isset($parsed_url['path']) ? $parsed_url['path'] : ''; } // 调用示例,直接输出路径 echo get_current_page_path();
这个方法的好处是高效直接,parse_url会自动把URI拆分成路径、查询参数等部分,我们只取path对应的内容就行,不管URL后面有没有带?xxx这类参数,都能拿到干净的路径。
方法二:借助WordPress内置函数
如果你更倾向于用WordPress原生函数来处理,避免直接操作服务器变量,也可以这么做:
function get_current_page_path() { // 获取当前页面的完整URL $full_url = get_permalink(); // 获取你的站点域名 $home_url = home_url(); // 把域名部分替换掉,剩下的就是路径 $path = str_replace($home_url, '', $full_url); return $path; } // 调用示例 echo get_current_page_path();
这种方法更贴合WordPress的生态,适合你想确保和站点URL结构完全匹配的场景。
做成短代码方便使用
如果你经常需要在文章或页面里插入当前路径,还可以把上面的函数改成短代码,用起来更省心:
// 创建[getpath]短代码 add_shortcode('getpath', 'get_current_page_path'); function get_current_page_path() { $current_uri = $_SERVER['REQUEST_URI']; $parsed_url = parse_url($current_uri); return isset($parsed_url['path']) ? $parsed_url['path'] : ''; }
之后在编辑器里直接输入[getpath],就能自动显示当前页面的路径啦~
备注:内容来源于stack exchange,提问作者Mapa
相关产品推荐
相关产品推荐

