2013-10-08 2 views
0

여러 개의 쿼리 문자열을 추가하려고하는데 작동하지 않는 것 같습니다. 나는 다른 사람들을 위해 일하는 것처럼 보이는 몇 가지 코드를 찾았지만, 뭔가 빠뜨린 것일 수도 있습니다.Wordpress 여러 사용자 정의 쿼리에 문제가 발생했습니다.

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

내가 다음 functions.php 파일에 아래의 코드를 추가 http://mydomain.com/board/2013/sometext/

에 :

내가 좋아하는 뭔가를 원한다. 그것은 그래야만하는 것처럼 잘 작동하지 않는 것 같습니다.

이것은 작동합니다. querystring을 echo하는 것은 문제없이 두 변수를 얻습니다.

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; 
} 

누군가가 유용하다고 생각합니다.

관련 문제