1.WordPress参数怎么传递,不使用?xx=xx的方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code> function add_query_vars( $aVars ) {
$aVars [] = "msds_pif_cat" ;
return $aVars ;
}
add_filter( 'query_vars' , 'add_query_vars' );
function add_rewrite_rules( $aRules ) {
$aNewRules = array ( 'msds-pif/([^/]+)/?$' => 'index.php?pagename=msds-pif&msds_pif_cat=$matches[1]' );
$aRules = $aNewRules + $aRules ;
return $aRules ;
}
add_filter( 'rewrite_rules_array' , 'add_rewrite_rules' );</code>
|
Copier après la connexion
Copier après la connexion
查到相关函数但是没有搞懂,大家可不可以帮帮我。
原文
还有就是WordPress的钩子机制是怎么一回事。
回复内容:
1.WordPress参数怎么传递,不使用?xx=xx的方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code> function add_query_vars( $aVars ) {
$aVars [] = "msds_pif_cat" ;
return $aVars ;
}
add_filter( 'query_vars' , 'add_query_vars' );
function add_rewrite_rules( $aRules ) {
$aNewRules = array ( 'msds-pif/([^/]+)/?$' => 'index.php?pagename=msds-pif&msds_pif_cat=$matches[1]' );
$aRules = $aNewRules + $aRules ;
return $aRules ;
}
add_filter( 'rewrite_rules_array' , 'add_rewrite_rules' );</code>
|
Copier après la connexion
Copier après la connexion
查到相关函数但是没有搞懂,大家可不可以帮帮我。
原文
还有就是WordPress的钩子机制是怎么一回事。
路由规则比如:
1 | <code>add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$' , 'index.php?page_id=8&myname=$matches[1]' , 'top' );</code>
|
Copier après la connexion
这样url www.xx.com/haha/tuntun ,实际上就会访问 /index.php?page_id=8&myname=tuntun
但是这样的通过$_GET['myname']是得不到你想要的值的,如果想通过$_GET['myname']得到值,需要:
1 2 3 4 5 6 | <code>
function add_query_vars( $aVars ) {
$aVars [] = 'myname' ;
return $aVars ;
}
add_filter( 'query_vars' , 'add_query_vars' );</code>
|
Copier après la connexion
这就是你说的参数传递。但有的参数是系统默认自带的,不需要额外添加。
关于钩子机制,一句话说不清楚,网上很多教程。
参考:
http://www.tantengvip.com/2013/11/wordpress-route/
http://www.tantengvip.com/2015/01/add_rewrite_tag_rule/