2013-01-20 43 views
1

我嘗試爲我的自定義帖子類型創建重寫規則。我需要它是類似「/%post_type_name%/%taxonomy_slug /%post_slug%」。這裏是我用來添加規則的代碼:無法創建重寫規則

add_action('init', 'episodes_rewrites_init'); 

function episodes_rewrites_init(){ 
    add_rewrite_rule(
     '^episodes/([^/]*)/([^/]*)/?$', 
     'index.php?post_type=episodes&seasons=$matches[1]&episodes=$matches[2]', 'top' 
    ); 
} 

它不起作用,我不知道爲什麼。請幫忙。

回答

0

好吧,我剛剛安裝的插件添加網址模板爲我的自定義後,如「/%季節%/%郵政名稱%/「,現在它會像我想要的那樣重寫URL。但我仍然不知道如何在代碼中做到這一點...

0

好的隊友,我從來沒有用過add_rewrite_rule,WP codex說的是It is most commonly used in conjunction with add_rewrite_tag()
所以我只是向你展示退伍軍人在過去如何執行這種重寫規則。
但是,如果你正在爲羣衆建立一個插件,你必須避免使用WP 3.5 features許多人仍然使用WP2。*。

這組動作可以幫助你:

所謂的「自定義文章類型固定鏈接」,
add_action('init', 'flushRewriteRules'); 
function flushRewriteRules() 
{ 
    global $wp_rewrite; 
    $wp_rewrite->flush_rules(); 
} 

add_filter('rewrite_rules_array', 'insertMyRewriteRules'); 
function insertMyRewriteRules($rules) 
{ 
    $newrules['^episodes/([^/]*)/([^/]*)/?$'] = 'index.php?post_type=episodes&seasons=$matches[1]&episodes=$matches[2]'; 
    return $newrules + $rules; 
} 

add_filter('query_vars', 'insertMyRewriteQueryVars'); 
function insertMyRewriteQueryVars($vars) 
{ 
    array_push($vars, 'episodes', 'seasons', 'post_type'); 
    return $vars; 
} 
+0

仍然無法正常工作。 –