WordPress로 웹 애플리케이션을 구축할 때 강력한 API를 사용하면 훨씬 쉬워집니다. 추가 또는 검색 données 옵션 API를 사용하는 것은 실제로 복잡하지 않습니다. 그러나 때때로 우리는 저장해야합니다 données 만료 날짜가 있는 임시.

워드프레스는 캐시 된 직관적 과도 "(또는 과도기적 영어) 이 작업을 수행할 수 있습니다. 즉, 저장이 가능합니다. données 유효기간이 있는 임시. 우리는 임시를 사용할 것이므로 이 WordPress API를 새롭게 살펴보는 것이 어떨까요?

WordPress Codex에 따르면 :

Transients API는 Options API와 매우 유사하지만 만료 시간 기능이 추가되어 wp_options 데이터베이스 테이블을 사용하여 캐시 된 정보를 임시로 저장하는 프로세스를 단순화합니다. .

이 시리즈의 일부로 임시 데이터를 저장하여 플러그인을 활성화 할 때 사용자를 홈 페이지로 리디렉션하는 효과적인 방법입니다.

이 자습서에서는 Transient API (과도) 및 옵션 API와의 차이점.

일시적인 API

과도는 사용자 정의 이름을 제공하여 캐시 된 정보를 임시로 저장하는 수단을 제공합니다 (키-값 쌍) 및 만료 시간. 설정된 시간 제한이 끝나면 과도 상태가 만료되고 제거됩니다. 이러한 과도 현상은 성능을 향상시키고 웹 응용 프로그램의 전체 성능을 향상시킵니다.

그러나 질문이 생깁니다. 만료 시간이 "과도 상태"의 유일한 이점입니까?

대답은 '아니오 ! 옵션 API가 데이터 저장, 위생 및 검색의 동일한 목적을 제공한다는 사실에도 불구하고 대규모 데이터 세트로는 최상의 성능을 제공 할 수 없습니다.

만료가 추가되면 과도 데이터가 임시로 데이터를 저장하는 데 더 적합해집니다. 더 적은 수의 웹 요청을 보장하기 위해 과도 사용자는 기존 WordPress 데이터베이스 대신 빠른 메모리(예: Memcached)에 데이터를 저장할 수 있습니다. 또한 주목해야 할 점은 Transients는 본질적으로 캐시 된 클래식 옵션이 아닌 플러그인. 코덱스에서 언급한 바와 같이:

예를 들어 Memcached 플러그인은 데이터베이스 대신 빠른 메모리에 WordPress 임시 값을 저장합니다. 이러한 이유로, 일시적이거나 일시적으로 만료되거나 언제든지 만료 될 수있는 데이터를 저장해야합니다. 임시 위치도 다른 곳에 저장할 수 있으므로 데이터베이스에있을 것으로 예상해서는 안됩니다.

따라서 특정 시간이 지나면 만료되거나 제거되는 기능이 필요할 때마다 옵션 대신 일시적인 기능을 사용하십시오.

"과도"사용

과도는 매우 간단한 인터페이스로 작동합니다. 다음과 같은 세 가지 기본 기능을 수행 할 수 있습니다.

  • «기능을 사용하여 데이터 생성 / 업데이트 set_transient »
  • «기능으로 데이터 복구 get_transient »
  • "기능을 사용하여 과도를 삭제하십시오 delete_tansient »

이 세 가지 기본 작업을 통해 응용 프로그램 성능을 향상시킬 수 있습니다.

1-임시 생성 / 업데이트

함수 사용  set_transient () 스파이크를 생성하거나 업데이트합니다. 이 기능에는 세 가지 매개 변수가 사용됩니다.

  • 키 : (유형 문자열) 과도의 이름입니다. 172 자 이하 여야합니다.
  • 값 : (혼합 유형) 저장해야하는 데이터입니다. PHP 변수 또는 배열 객체 일 수 있습니다.
  • 만료 : (int 유형) 수명 (초). 기본값 0 (만료일 없음).

테이크 아웃 : 설정 한 만료 날짜는 일시적인 데이터가 저장되는 기간입니다. 이 기간이 지나면 과도 상태가 제거됩니다. 그러나이 날짜 이전에 과도 상태를 제거 할 수도 있습니다.

캐시의 일부이므로 만료 시간 이전에 사용자가 삭제할 수 있습니다.

따라서 만료 시간은 과도기의 수명을 결코 지나치지 않는 한계라고 스스로에게 말하십시오.

<?php set_transient( string $transient, mixed $value, int $expiration ) ?>

처음 두 매개 변수는 ' 핵심 가치 최대 만기 시간을 설정하는 세 번째 매개 변수는 선택 사항이지만 필수입니다.

다음은 실제적인 예입니다.


과도 상태의 일정 시간

위의 예에서 저는ai 세 번째 매개변수에 60초를 설정하면 과도 현상이 제거되어야 하는 시간 제한이 설정됩니다. 위의 예에 따르면 객체는 _welcome_redirect_wpw  60 초의 수명을 초과 할 수 없습니다.

WordPress 3.5에서는 시간을 쉽게 표현하기 위해 여러 상수가 도입되었습니다. 이러한 상수는 코드를보다 완전하고 정확하게 만듭니다. 목록은 다음과 같습니다.

MINUTE_IN_SECONDS는 = 60 (초) = HOUR_IN_SECONDS 60 MINUTE_IN_SECONDS DAY_IN_SECONDS * = * 24 HOUR_IN_SECONDS WEEK_IN_SECONDS = 7 DAY_IN_SECONDS YEAR_IN_SECONDS * = * 365 DAY_IN_SECONDS

2-일시적인 복구

기능을 통해 값을 저장 한 후  set_transient ()함수를 호출하여 값을 검색 할 수 있습니다  get_transient ().

일시적인 $ transient의 키인 단일 매개 변수를 취하고 (혼합형) 과도 값.

표준 형식은 다음과 같습니다.


이 예의 경우 값은 다음을 통해 검색됩니다.


충분히 간단합니까? 그러나 일시적이 존재하지 않거나 만료되면 어떻게 될까요? 이 경우 함수  get_transient () 잘못된 값을 반환합니다.

일시적인 값 검색을 조작 할 때 ID 연산자 (===)를 사용하는 것이 좋습니다.

3-일시적인 제거

과도기가 만료되기 전에 제거하려는 상황이있을 수 있습니다. 기능 delete_transient () 당신이 도울 것입니다. 그 형식은 기능과 유사합니다 get_transient ().

일시적인 $ transient의 키인 단일 매개 변수를 취하고 일시적인 것을 영구적으로 제거합니다.

일반적인 형식은 다음과 같습니다.


이 경우에는 다음과 같이 삭제할 수 있습니다.


과도기의 사용

임시를 사용하여 무언가를 캐시 할 수 있습니다 (전체 위젯에 대한 기본 데이터). 실행 이후에 다른 웹 프로젝트에서 과도 상태가 사용되었습니다. 과도를 실제로 사용하는 방법은 다음과 같습니다.

  • 플러그인의 홈 페이지에서 사용할 수 있습니다.
  • 최상의 주석 데이터를 나열하는 사이드 바 위젯에서이를 사용할 수 있습니다.
  • 과도 상태로 WordPress 탐색 메뉴의 속도를 높일 수 있습니다.
  • 일시적으로 레이블을 캐시 할 수 있습니다.

이 튜토리얼에서 끝났습니다. WordPress에서 Transient API를 사용하는 방법을 알게 되셨기를 바랍니다.