워드 프레스 재 작성 API

워드 프레스 정말 유용한 API가 있습니다. API 재 작성“. 나는 이미“url rewriting”을 가지고 있다고 생각한다. 이것은 URL을 더 읽기 쉽게 만드는 과정이다. 예를 들어 http://mysite.com/?page=12&category=12&author=47과 같이 작성된 URL은 그다지 좋지 않습니다. 기억하기 어렵고 검색 엔진은 그다지 좋아하지 않습니다. 그렇기 때문에 거의 모든 CMS에는 URL을“다시 작성하여”다음과 같이 보이도록하는 기본 제공 기능이 있습니다. http://mysite.com/category/business/finance.


다시 쓰기 API 및 WP_Rewrite 클래스

워드 프레스 내부에서이 프로세스는 퍼머 링크 구조. 기본 영구 링크 구조에서 사용자 정의 구조로 전환하면 자동으로 다시 쓰기 API가 활성화됩니다. 완전 자동입니다. 그러나 때로는 고유 한 사용자 지정 다시 쓰기 규칙을 만들어야합니다..

이 게시물에서는 간단한 사용자 정의 다시 쓰기 규칙을 만들기 위해 간단한 함수를 만듭니다. $ _GET [ ‘referrer’]와 같은 리퍼러 가치를 원한다고 가정 해 보겠습니다..

Codex를 살펴보면 rewrite API 페이지에서이 API에 6 개의 내장 함수가 있음을 알 수 있습니다. 다시 쓰기의 가장 일반적인 용도는 이러한 함수를 사용하는 것입니다. 이에 대한 자습서가 많으므로 함수 대신 필터를 사용하게됩니다. 예, rewrite API를 필터와 함께 사용할 수도 있습니다! 해당 필터는 WP_Rewrite 클래스 코덱스 페이지.

새로운 검색어 추가

시작하려면 WordPress에 새로운 다시 쓰기 규칙이 설정되었음을 알려주는 함수를 만들어야합니다. 이것은의 일이다 add_rewrite_rule () 과 add_rewrite_tag ()  함수를 사용하지만 query_vars 및 rewrite_rules_array 필터. 이렇게하려면 두 개의 함수와 두 개의 필터를 만들어야합니다. 첫 번째 함수는 단순히 query_vars 필터에 새 변수를 추가하고 두 번째 함수는이 새 변수를 전역 다시 쓰기 규칙에 등록합니다.

/ *
|--------------------------------------------------------------------------
| 다시 쓰기를 시작하십시오. 샘플 : http://mysite.com/referrer/remi
|--------------------------------------------------------------------------
* /

// 새로운 var 등록
함수 rc_add_query_vars ($ vars) {
$ vars [] = "참조 자"; // URL에서 볼 수있는 var의 이름
$ vars를 돌려줍니다;
}

// query_vars에 함수를 연결
add_filter ( 'query_vars', 'rc_add_query_vars');

// 기존 규칙에 새 다시 쓰기 규칙 추가
함수 rc_add_rewrite_rules ($ rules) {
$ new_rules = array ( 'referrer / ([^ /] +) /? $'=> 'index.php? referrer = $ matches [1]');
$ rules = $ new_rules + $ rules;
반환 $ 규칙;
}

// 함수를 rewrite_rules_array에 연결
add_filter ( 'rewrite_rules_array', 'rc_add_rewrite_rules');

이 코드를 플러그인 파일이나 theme functions.php 파일에 추가하면 설정> 영구 링크로 이동하여 영구 링크 구조를 저장하십시오. 이 조치가 필요합니다. 이제 이런 종류 또는 URL로 http://mysite.com/referrer/your-name을 사용하여 사이트에 액세스 할 수 있습니다. 특정 페이지에서 리디렉션하려면 wantindex.php? referrer = $ matches [1] by index.php? pagename = my-page & referrer = $ matches [1]로 변경하십시오. 여기서 “my-page”는 슬러그로 리디렉션.

변수 값 검색

다시 쓰기 규칙이 설정되었으므로 변수 값에 액세스 할 수 있습니다. 그러나 간단한 $ _GET [‘추천자’]를하면 가치가 없습니다. URL vars 값을 검색하려면 함수를 “template_redirect”필터에 연결해야합니다. “init”필터에 대한 연결이 너무 빠릅니다. 그런 다음 $ wp_query 객체를 통해 필요한 변수에 액세스 할 수 있습니다. 수행 방법에 대한 간단한 샘플은 다음과 같습니다.

// URL을 검색합니다. var
함수 rc_get_my_vars () {
글로벌 $ wp_query;

if (isset ($ wp_query-> query_vars [ 'referrer'])) {
$ referrer = get_query_var ( 'referrer');
}
}

// 함수를 template_redirect에 연결
add_action ( 'template_redirect', 'rc_get_my_vars');

다음으로 $ referrer 값을 에코하거나 일반 GET 변수와 같이 사용할 수 있습니다.

물론 하나 이상의 변수를 사용하도록 수정할 수 있습니다.

// rc_add_query_vars ()에서
$ vars [] = "참조 자";
$ vars [] = "캠페인";

// rc_add_rewrite_rules ()에서
$ new_rules = array ( 'referrer / ([^ /] +) / ([^ /] +) /? $'=> 'index.php? pagename = my-page & referrer = $ matches [1] & campaign = $ matches [ 2] ');

URL 재 작성을 사용하려면 PHP mod_rewrite 모듈 활성화가 필요하다는 것을 잊지 마십시오.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me