首页 > php教程 > php手册 > 正文

WordPress 技巧:如何添加自定义类型的URL的固定链接

php中文网
发布: 2016-06-06 20:14:17
原创
1083人浏览过

由于业务需要,偶尔会添加一种页面类型,而这种类型不存在于wordpress已有的routers 固定链接中, 那么就需要我们来添加一种自定义的url固定链接。 比如: 我需要添加一种/health/A~Z/的URL规则,那么如何自定义呢? 大体实现如下: 1. 固定链接URL定义为:

由于业务需要,偶尔会添加一种页面类型,而这种类型不存在于wordpress已有的routers 固定链接中, 那么就需要我们来添加一种自定义的url固定链接。

比如:
我需要添加一种/health/A~Z/的URL规则,那么如何自定义呢?
大体实现如下:
1. 固定链接URL定义为: /health/A/
2. 实际URL为:index.php?category_name=&idx=

实际代码如下:

# 找到模板目录下面的functions.php 添加下面代码
function add_query_vars($aVars) {
  $aVars[] = "idx"; 
  return $aVars;
}
// hook add_query_vars function into query_vars
add_filter('query_vars', 'add_query_vars');
function add_rewrite_rules($aRules) {
  $aNewRules = array('(health)/([^/]+)/?$' => 'index.php?category_name=$matches[1]&idx=$matches[2]');
  $aRules = $aNewRules + $aRules;
  return $aRules;
}
// hook add_rewrite_rules function into rewrite_rules_array
add_filter('rewrite_rules_array', 'add_rewrite_rules');
登录后复制

到这里已经实现自定义URL规则的固定链接。

那么如何获取URL中的参数呢? 其实知道这是Wordpress自身的路由实现就好明白了。 既然是WP的路由,那么我们就像别的框架一样使用WP的获取URL的参数的访问就可以了。

在需要获取idx参数值的寂寞中,如下代码就可以得到了:

腾讯云AI代码助手
腾讯云AI代码助手

基于混元代码大模型的AI辅助编码工具

腾讯云AI代码助手 205
查看详情 腾讯云AI代码助手
#打印所有参数
var_dump($wp_query->query_vars);
#取得idx参数和值
$idx = get_query_var('idx');
登录后复制

原文参考:

http://www.4byte.cn/question/475327/why-does-htaccess-mod-rewrite-always-discard-the-query-string-in-the-target-url.html?contrast

相关标签:
WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号