2010-03-25 6 views
0

여기에 (1 년 전) 물어 보았지만 분명히 대답하지 못했습니다. WordPress는 항상 진화하고 있으므로 이제는 좋은 해결책이 될 것입니다. 나는 URL을 통해 WordPress 페이지에 변수를 전달하고 싶다. (CodeIgniter uri 헬퍼 세그먼트와 비슷하다.)WordPress 페이지에 URL 변수를 전달하는 방법

현재

나는이 작업을 수행 할 수 있습니다 ...

내 프로필 페이지입니다 :이 같은에서 변수를 전달하려는 http://website.com/profile?username=johndoe

: 이 http://website.com/profile

내가 이런 변수를 전달할 수 있습니다 : http://website.com/profile/johndoe 또는 http://website.com/profile/username/johndoe

도우미 기능이 있어야합니다. 맞습니까?

답변

0

파일을 당신의 WP 설치 영구 링크를 사용하고, 그래서 htaccess로 기능, 당신은 당신의 .htaccess의 TOP에 넣어해야한다고 가정하면 다음

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^profile/(.*)$ /profile?username=$1 [NC] 
+0

website.com/profile/johndoe를 시도하면 404 오류가 발생합니다. –

0

추가] 루트 폴더 뭔가에 htaccess로 파일 같은 기타의 RewriteRules 후

RewriteRule ^profile/?([_0-9a-z-]+)?/?$ http://website.com/profile?username=$1 [R=301,L] 

+0

다른 포럼에 게시 된 내용이 있습니다. 사람들이 같은 질문을하는 곳에서 발견 된 내용입니다. 하지만, 불행히도, 나 자신을 위해서는 분명히 효과가 없었습니다. 내 워드 프레스 고유 주소 구조는 다음과 같습니다 /% 증가한 %/% monthnum %/% postname %/ 그리고 생성 WP htaccess로 파일 규칙이 있었다 : RewriteBase/learnwake에 한다 RewriteEngine. com/ RewriteCond % {REQUEST_FILENAME}! -f RewriteCond % {REQUEST_FILENAME}! -d RewriteRule. /learnwake.com/index.php [L]

+0

와우, 죄송합니다. 코드가 엉망입니다 ... 줄 바꿈이 보존되지 않았습니다. –

0

나는 PHP와 워드 프레스 기능이 일의 메이크업 시프트 방식의 종류를 발견했습니다.

여기에 성실함이 있습니다. 템플릿 코드에서 $ wp_query 전역 변수를 포함시킨 다음 쿼리 속성 인 배열을 사용하십시오. 이러한 배열 인덱스 중 하나를 '페이지 이름'이라고하며, 해당 페이지의 요청 URI를 반환합니다. 그래서 가정 당신의 URL이 http://website.com/profile/johndoe이며, 워드 프레스 설치는이 코드를 웹 루트에 있습니다

global $wp_query; 
echo $wp_query->query['pagename'] 

'프로필/JohnDoe에'를 putout 것입니다. URL이

그러나 : 워드 프레스는 cms 디렉토리가 아닌 웹 루트에 설치하는 것이 의미 http://website.com/cms/profile/johndoe, 위의 코드는 여전히 고려, 의미, profile/johndoe을 반환 무엇 워드 프레스과 주소 사이트의 차이 주소는 설정 패널에서로 설정됩니다. 하여 첫 번째 인덱스에 할당 될 수

$segments = array_explode('/', $wp_query->query['pagename']); 

내가이 경우 첫 번째 세그먼트 ( profile을 믿는다

그래서 어쨌든, 좋은 부분은 당신과 같이 배열로 출력 및 분할을 할 수 THT입니다 배열 등등).

어쨌든 CodeIgniter만큼 좋지는 않지만 코드를 많이 수행하지는 않으며 트릭을 수행합니다.

관련 문제