WordPress参数传递及路由规则

WBOY
Release: 2016-06-06 20:24:59
Original
2403 people have browsed it

1.WordPress参数怎么传递,不使用?xx=xx的方式。

<code>function add_query_vars($aVars) {
$aVars[] = "msds_pif_cat"; // represents the name of the product category as shown in the URL
return $aVars;
}
 
// hook add_query_vars function into query_vars
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;
}
 
// hook add_rewrite_rules function into rewrite_rules_array
add_filter('rewrite_rules_array', 'add_rewrite_rules');</code>
Copy after login
Copy after login

查到相关函数但是没有搞懂,大家可不可以帮帮我。

原文

还有就是WordPress的钩子机制是怎么一回事。

回复内容:

1.WordPress参数怎么传递,不使用?xx=xx的方式。

<code>function add_query_vars($aVars) {
$aVars[] = "msds_pif_cat"; // represents the name of the product category as shown in the URL
return $aVars;
}
 
// hook add_query_vars function into query_vars
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;
}
 
// hook add_rewrite_rules function into rewrite_rules_array
add_filter('rewrite_rules_array', 'add_rewrite_rules');</code>
Copy after login
Copy after login

查到相关函数但是没有搞懂,大家可不可以帮帮我。

原文

还有就是WordPress的钩子机制是怎么一回事。

路由规则比如:

<code>add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );</code>
Copy after login

这样url www.xx.com/haha/tuntun ,实际上就会访问 /index.php?page_id=8&myname=tuntun

但是这样的通过$_GET['myname']是得不到你想要的值的,如果想通过$_GET['myname']得到值,需要:

<code>//add query_args
function add_query_vars($aVars) {
    $aVars[] = 'myname';
    return $aVars;
}
add_filter('query_vars', 'add_query_vars');</code>
Copy after login

这就是你说的参数传递。但有的参数是系统默认自带的,不需要额外添加。

关于钩子机制,一句话说不清楚,网上很多教程。

参考:
http://www.tantengvip.com/2013/11/wordpress-route/
http://www.tantengvip.com/2015/01/add_rewrite_tag_rule/

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template