0
我無法讓Wordpress使用add_rewrite_rule()函數爲變量指定適當的值。我的目標是有一個像這樣的網址:www.mywebsite.com/catalog/category1/category2/item-slug
。Wordpress add_rewrite_rule有3個變量
下面是從functions.php文件我的代碼:
add_filter('query_vars', 'query_vars_new');
function query_vars_new($query_vars){
$query_vars[]='category1';
$query_vars[]='category2';
$query_vars[]='catalog_item';
return $query_vars;
}
add_action('init', 'rewrite_init');
function rewrite_init(){
add_rewrite_rule('catalog(/([^/]+))?(/([^/]+))?/?','index.php?page_id=94&category1=$matches[1]&category2=$matches[2]&catalog_item=$matches[3]','top');
}
所以我們的目標是有三個變量$category1
,$category2
,並$catalog_item
與對應的URL段的值。但是,當我測試這個時,前兩個變量設置爲相同的值。
例如,www.mywebsite.com/catalog/clothes/shirts/polo-shirt
應該返回:
$category1="clothes";
$category2="shirts";
$catalog_item="polo-shirt";
而是我得到:
$category1="/clothes";
$category2="clothes";
$catalog_item="/polo-shirt";
必須有我的add_rewrite_rule功能有點問題,但我無法弄清楚。
下次在這裏問問http://wordpress.stackexchange.com/ – patrickzdb