자동로드 및 옵션 테이블을 통한 성능


12

나는 테이블 의 autoload열을 가지고 놀고 있습니다 options. 자동로드 된 값이 어떻게 사용되는지에 대한 많은 정보를 찾지 못했습니다. 나는 print_r($GLOBALS)자동로드 옵션이에 저장된 것을 보았습니다 $GLOBALS['wp_object_cache']->cache['options']['alloptions'].

해당 변수에 액세스하는 다른 방법이 있습니까?

my_option다른 템플릿에서 여러 번 (예 : 한 번 header.php, 한 번 footer.php) 자동로드하도록 설정된 옵션에 액세스해야한다고 가정 하면 어떤 방법이 권장됩니까?

  1. $GLOBALS배열 에서 검색해도 괜찮습니까 (값이 이미 여기에 있기 때문에)
  2. get_option('my_option')한 번만 사용 하고 변수를 다시 세계화 해야 합니다
  3. get_option('my_option')매번 사용하십시오 (필자는하지 않습니다)
  4. 다른 것

답변:


23

자동로드 된 값이 어떻게 사용되는지에 대한 많은 정보를 찾지 못했습니다.

자동로드 옵션의 특별한 경우는 없으며 일반 옵션과 같은 방식으로 사용되지만 테이블의 autoload열이 무엇을 options의미 하는지 알아낼 수 있습니다 . 이 열은 요청의 초기화 단계에서 옵션을 가져와야하는지 또는 요청시에만 옵션을 가져와야하는지 결정합니다.

그러나이 자동로드가 발생하면 어떤 기능을 수행합니까? 모든 자동로드 옵션은 wp_load_alloptions기능 별로로드 및 캐시되며 , is_blog_installed각 HTTP 요청이 시작될 때 WP가 처리하는 기능에 의해 호출됩니다 .

자동로드 옵션은 동일한 옵션이지만 WP에 의한 HTTP 요청 처리 시작시로드됩니다.

옵션에 액세스해야한다고 가정합니다 ... 어떤 방법이 권장됩니까?

  1. $GLOBALS직접 검색하는 것은 좋지 않습니다. get_option대신 사용하십시오.
  2. 맞춤 변수를 세계화하는 것은 좋지 않으며 가능한 한 적게 수행하는 것이 좋습니다.
  3. 내 관점에서 볼 때 그것은 당신에게 가장 적합한 옵션입니다
  4. 심지어 다른 것에 대해 생각하지 마십시오 :)

get_option매번 기능 을 사용 하는 것이 최선의 선택입니까? 때문에:

  1. 첫 번째이자 가장 중요한 이유는 다음 과 같습니다. 호출 할 때마다 최신 값이 반환된다고 확신 할 수 있습니다.
  2. 나중에 재사용 할 수 있도록 캐시합니다.
  3. 다른 플러그인과 테마가 option_optionname필터 를 연결하여 옵션을 연결할 수 있습니다.
  4. 아직로드되지 않은 경우 옵션을 가져옵니다.

1
+1 매우 유익한 답변. 전에 옵션 후크에 대해 들어 본 적이 없습니다 :)
RRikesh

@rrikesh ur 환영합니다, 그것이 충분히 설명되기를 바랍니다
Eugene Manuilov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.