답변:
평신도 용어로는 큰 차이가 없습니다! 내부적으로 update_user_option()
사용합니다 update_user_meta()
. 유일한 차이점은 update_user_option()
다중 사이트에있는 경우 데이터베이스 테이블 접두사 + 블로그 ID가있는 옵션 이름 접두사와 단일 사이트 설치에있는 경우 테이블 접두사뿐입니다.
의 코드를 살펴보십시오 update_user_option()
/**
* Update user option with global blog capability.
*
* User options are just like user metadata except that they have support for
* global blog options. If the 'global' parameter is false, which it is by default
* it will prepend the WordPress table prefix to the option name.
*
* Deletes the user option if $newvalue is empty.
*
* @since 2.0.0
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param int $user_id User ID.
* @param string $option_name User option name.
* @param mixed $newvalue User option value.
* @param bool $global Optional. Whether option name is global or blog specific.
* Default false (blog specific).
* @return int|bool User meta ID if the option didn't exist, true on successful update,
* false on failure.
*/
function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
global $wpdb;
if ( !$global )
$option_name = $wpdb->get_blog_prefix() . $option_name;
return update_user_meta( $user_id, $option_name, $newvalue );
}
옵션 이름 앞에 테이블 접두사 + 블로그 ID (ID가 1과 0 이외의 경우에만)가 붙습니다.
마지막 매개 변수 $global
를 설정 true
하면와 아무런 차이가 없습니다 update_user_meta()
.
update_user_option()
기능의 목적
다른 테이블과 달리 WordPress는 각 사이트의 usermeta에 대해 별도의 테이블을 만들지 않습니다. 모든 블로그 (멀티 사이트)에 대해 하나의 usermeta 테이블에 사용자 정보를 저장합니다. blog prefix
예를 들어 블로그 ID 4 와 같이 각 사이트의 키 이름 앞에 접두사 wp_capabilities
가로 저장됩니다 wp_4_capabilities
.
어떤 정보 그래서 당신은 사용하여 저장됩니다 update_user_option()
예를 들어 key_name_abc
이 될 것이다 wp_key_name_abc
다중 또는 단일 사이트 설치의 주요 사이트. 나중에 단일 사이트를 다중 사이트로 변환하면 기본 사이트에서만 정보를 사용할 수 있습니다.
일부 정보가 사이트 + 사용자에 의존한다고 생각할 때이 기능을 사용하십시오. 이러한 정보는 사용자와 사이트에 독립적이기 때문에 이름, 이메일과는 다릅니다.
둘 다 "usermeta"테이블에 데이터를 씁니다. usermeta 테이블에 저장된 사용자 옵션은 wordpress 테이블 접두사 (예 : wp_)를 유지하지만 usermeta 테이블에 저장된 사용자 메타는 그렇지 않습니다.
사용자 옵션은 다중 사이트에서 유용한 블로그 별 옵션을 지원합니다. 사용자 메타는 프로필 정보와 같은 사용자 ID 특정 메타 데이터를 기반으로합니다.
매개 변수는 실제로 상당히 다릅니다. 사용자 옵션에는 $ user_id, $ option_name, $ newvalue, $ global이 있고 사용자 메타에는 $ user_id, $ meta_key, $ meta_value, $ prev_value가 있습니다.
다음은 옵션과 사용자 usermeta 모두에 대한 값입니다.
옵션
사용자
https://codex.wordpress.org/Function_Reference/update_user_option#Parameters
https://codex.wordpress.org/Function_Reference/update_user_meta#Parameters
코덱스 페이지 예제는 실제 사용을 제공합니다.