wordpress怎么自定义url
发布网友
发布时间:2022-05-16 15:53
我来回答
共1个回答
热心网友
时间:2023-10-29 11:20
大体实现如下:
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参数值的寂寞中,如下代码就可以得到了:
#打印所有参数
var_mp($wp_query->query_vars);
#取得idx参数和值
$idx = get_query_var('idx');