1.WordPress參數怎麼傳遞,不使用?xx=xx的方式。
function add_query_vars($aVars) {$aVars[] = "msds_pif_cat"; // represents the name of the product category as shown in the URLreturn $aVars;} // hook add_query_vars function into query_varsadd_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_arrayadd_filter('rewrite_rules_array', 'add_rewrite_rules');
查到相關函數但是沒有搞懂,大家可不可以幫幫我。
原文
還有就是WordPress的鉤子機制是怎麼一回事。
回複內容:
1.WordPress參數怎麼傳遞,不使用?xx=xx的方式。
function add_query_vars($aVars) {$aVars[] = "msds_pif_cat"; // represents the name of the product category as shown in the URLreturn $aVars;} // hook add_query_vars function into query_varsadd_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_arrayadd_filter('rewrite_rules_array', 'add_rewrite_rules');
查到相關函數但是沒有搞懂,大家可不可以幫幫我。
原文
還有就是WordPress的鉤子機制是怎麼一回事。
路由規則比如:
add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );
這樣url www.xx.com/haha/tuntun ,實際上就會訪問 /index.php?page_id=8&myname=tuntun
但是這樣的通過$_GET['myname']是得不到你想要的值的,如果想通過$_GET['myname']得到值,需要:
//add query_argsfunction add_query_vars($aVars) { $aVars[] = 'myname'; return $aVars;}add_filter('query_vars', 'add_query_vars');
這就是你說的參數傳遞。但有的參數是系統預設內建的,不需要額外添加。
關於鉤子機制,一句話說不清楚,網上很多教程。
參考:
http://www.tantengvip.com/2013/11/wordpress-route/
http://www.tantengvip.com/2015/01/add_rewrite_tag_rule/