get_site_option과 get_blog_option의 차이점은 무엇입니까?


9

get_site_option ()get_blog_option () 의 차이점을 이해하려고합니다 .

있습니까 블로그사이트의 다른 두 가지? 이 질문이 기본적으로 보이지만 WordPress 웹 사이트를 언급 할 때 항상 두 용어를 매우 느슨하게 사용했습니다 (동일한 의미). 차이가 있는지 궁금합니다.

답변:


15

get_option()현재 블로그에 대한 옵션을 반환합니다 .

단일 사이트 설치에서는 현재 블로그가 유일한 블로그입니다. 따라서 get get_option()은 옵션을 반환합니다.


get_site_option()네트워크 전체에서 옵션을 검색하는 데 사용됩니다. 즉, 네트워크의 모든 사이트에서 동일한 옵션을 얻을 수 있습니다.

이 기능을 단일 설치에서 사용하면 일반적으로 와 동일한 것을 반환합니다 get_option(). get_site_option()에 의해 트리거되지 않은 트리거 필터 후크 때문에 값이 변경 될 수 있습니다 get_option().

한 번 참고 $wpdb->options표는 블로그 특정, 네트워크 전체 옵션은에 저장되어있는 $wpdb->sitemeta멀티 사이트 설치의 특정 테이블.


get_blog_option()옵션 이름을 첫 번째 인수로받지 않는 세 함수 중 유일한 함수이지만 첫 번째 인수는 $blog_id입니다.

실제로 다중 사이트 설치에서 ID가 알려진 특정 블로그에서 옵션을 검색하는 데 사용됩니다.

이 기능은 다음과 같습니다.

switch_to_blog( $blog_id );
$value = get_option( $option, $default );
restore_current_blog();

return $value;

$blog_id현재 블로그 ID와 동일한 경우 WordPress는 해당 switch_to_blog부분을 건너 뛰고을 호출합니다 get_option().

이 기능은 wp-includes/ms-blogs.php다중 사이트 설치용으로 만로드 된 파일에서 정의 되므로 get_blog_option()단일 사이트 설치에서는 정의되지 않습니다.


6

get_site_option()-네트워크 전체 옵션을 얻습니다. 이 옵션은 일반적으로 멀티 사이트 설정의 네트워크 관리자 설정 섹션에 추가됩니다. 50 개의 사이트가 있다면 50 개의 다른 사이트로 이동하여 동일한 옵션 값을 설정하는 것이 어려울 것입니다. 대신 옵션 값을 한 번 설정하여 모든 사이트에 대해 네트워크 전체에 적용 할 수 있습니다. http://codex.wordpress.org/Function_Reference/get_site_option을 참조하십시오 .

get_blog_option()-특정 사이트에 대한 옵션의 가치를 얻을 수 있습니다. 한 가지 예는 각 사이트에 대한 사용자 별 옵션의 값을 얻는 것입니다. 따라서 사용자가 속한 모든 사이트를 가져 와서 사이트 ID 목록을 반복 get_blog_option()하고 blog_id및 옵션 이름을 전달 하여 결과를 다시 얻을 수 있습니다. 다음과 같은 기능을 수행하는 편리한 기능입니다.

switch_to_blog( $id ); $value = get_option( $option_name ); restore_current_blog();

http://codex.wordpress.org/Function_Reference/get_blog_option을 참조하십시오 .

tl; dr : get_site_option() 네트워크 전체의 가치를 get_blog_option()얻고, 먼저 해당 사이트로 직접 전환 할 필요없이 특정 사이트의 특정 가치를 얻습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.