您好,欢迎访问一九零五行业门户网

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

由于业务需要,偶尔会添加一种页面类型,而这种类型不存在于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_varsadd_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_arrayadd_filter('rewrite_rules_array', 'add_rewrite_rules');
到这里已经实现自定义url规则的固定链接。
那么如何获取url中的参数呢? 其实知道这是wordpress自身的路由实现就好明白了。 既然是wp的路由,那么我们就像别的框架一样使用wp的获取url的参数的访问就可以了。
在需要获取idx参数值的寂寞中,如下代码就可以得到了:
#打印所有参数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
原文地址:wordpress 技巧:如何添加自定义类型的url的固定链接, 感谢原作者分享。
其它类似信息

推荐信息