2012-07-11 2 views
8

나는 wordpress 플러그인을 만들고 있습니다. 나는 사용자가 클릭 한 링크를 기반으로 콘텐츠를로드하기 위해 앵커 내부에 add_query_string()을 사용했습니다. 이제 현재 URI에서 매개 변수 값을 가져 오는 가장 좋은 방법을 알아야합니다.wordpress에서 쿼리 문자열 매개 변수 값 얻기

아마 아주 기본적이고 바보 같은 질문이지만, 나는 몇 가지 용어를 잘못 해석하면 미안 해요, 그래서 내가 프로그래밍에 새로운 해요.

 if (current_user_can('manage_options')) { 
      echo (
       '<div> 
        <ul> 
         <li><a href="'.add_query_arg('adminoption', 1).'">option 1</a></li> 
         <li><a href="'.add_query_arg('adminoption', 2).'">option 2</a></li> 
        </ul> 
       </div>' 
      ); 

      // if adminoption == 1 load content A 
      // if adminoption == 2 load content B 

     } 

답변

10

난 당신이 get_query_var() 기능을 요구하고 생각 :

는 코드입니다. 귀하의 경우에는 get_query_var ('adminoption')을 사용해야합니다. 는 데이비드 Carrus에 의해 코멘트에 숨겨진 답을 올리기

+1

감사합니다. David. 좋은 제안. 그러나 그것은 나를 위해 공허하게 돌아왔다. 진실은 내가 add_query_arg()를 사용해야하는지조차 모르겠다. 내가해야 할 일은 쿼리 문자열에 따라 같은 페이지에 콘텐츠를 표시하는 것입니다. 각 링크마다 하나의 페이지 만 만들 수는 있지만 아무것도 배울 수 없기 때문에 옵션이 아닙니다. 배우는 것이 내가 플러그인을 만드는 것을 망치고있는 주된 이유입니다. – rzb

+2

링크를 클릭 한 후 귀하의 URL은 무엇입니까? 가 문제가() add_query_arg에 시작하는 경우 www.yoursite.com/?adminoption=1 같은 것을 그냥 알고 그것입니다. 어쨌든 이전 PHP $ _GET [ 'adminoption']을 사용해보십시오. –

+1

예, 링크를 클릭 한 후 URL은 정상입니다. 그리고 $ _GET [ 'adminoption']은 매력처럼 작동했습니다. 무리 감사! 그래도 $ _GET을 사용하면서 보안에 대해 걱정해야합니까? – rzb

8

도움이되기를 바랍니다 :

어쨌든 당신이 이전의 PHP $의 _GET [ 'adminoption']으로 시도 할 수 있습니다.

6

쿼리 문자열에서 값을 가져 오려면 PHP의 $_GET['key'] 메서드를 사용할 수 있습니다.

당신이하는 일에 따라 get_query_var('key'), this function works with parameters accepted by the WP_Query class (cat, author, etc)을 사용할 수도 있습니다.

이 함수와 함께 사용자 지정 쿼리 바를 사용하려는 경우 query_vars 필터를 사용하여 지원되는 쿼리 바리스트를 수정해야합니다. 위 링크 된 설명서에서 방법을 확인할 수 있습니다.

10

get_query_var ('adminoption')은 단지 표준 또는 등록 바르와 함께 작동합니다. 표준이 아닌 워드 프레스 바르 위해 당신이 당신의 functions.php 파일에 먼저 등록해야합니다 그래서 :

function rj_add_query_vars_filter($vars){ 
    $vars[] = "adminoption"; 
    return $vars; 
} 
add_filter('query_vars', 'rj_add_query_vars_filter'); 

get_query_var('adminoption'); 

질문이 오래 실현 만이 사람을 도움이되기를 바랍니다.

+0

좋은 솔루션.^_^ –

+0

'$ vars []'배열에 "group"을 어떻게 추가하고 있습니까? '$ vars [] = "adminoption"이 아니어야합니까? –

관련 문제