2013-10-08 50 views
0

我正在努力添加多個查詢字符串,它似乎並沒有工作。我發現了一些似乎適用於其他人的代碼,但可能是我錯過了一些東西。麻煩與WordPress的多個自定義查詢字符串

我想是這樣的:

http://mydomain.com/board/?getyear=2013&getsometext2=sometext

http://mydomain.com/board/2013/sometext/

然後我在下面給functions.php文件的代碼。它似乎沒有像它應該那樣工作。

This Works。迴應查詢字符串變得沒有問題。

http://mydomain.com/board/2013/sometext/

但這並不。我測試的查詢字符串可見isset()但好像什麼都沒有設置/獲取

http://mydomain.com/board/2013/

function add_query_vars($vars) { 
    $vars[] = "getyear"; 
    $vars[] = "getsometext2"; 
    return $vars; 
} 

add_filter('query_vars', 'add_query_vars'); 

function add_rewrite_rules($aRules) { 
    $aNewRules = array('board/([^/]+)/([^/]+)/?$' => 'index.php?pagename=board&getyear=$matches[1]&getsometext2=$matches[2]'); 
    $aRules = $aNewRules + $aRules; 
    return $aRules; 
} 

add_filter('rewrite_rules_array', 'add_rewrite_rules'); 

任何幫助將是非常讚賞。

謝謝!

回答

0

正如我所料,當第二個參數未被使用時,我錯過了重寫規則。答案是代碼爲我工作:

function add_rewrite_rules($aRules) { 
    'board/(.*)/(.*)/?' => 'index.php?pagename=board&getyear=$matches[1]&getsometext2=$matches[2]', 
    'board/(.*)/?' => 'index.php?pagename=leaderboard&getyear=$matches[1]'); 
    $aRules = $aNewRules + $aRules; 
    return $aRules; 
} 

希望有人認爲這有用。