Câu trả lời:
Trong điều khoản cư sĩ không có sự khác biệt lớn! update_user_option()
sử dụng update_user_meta()
nội bộ. Sự khác biệt duy nhất là update_user_option()
tiền tố tên tùy chọn với tiền tố bảng cơ sở dữ liệu + ID blog nếu bạn đang ở trong nhiều trang và chỉ là tiền tố bảng nếu bạn đang cài đặt một trang web.
Hãy xem mã của 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 );
}
Tên tùy chọn của bạn được thêm tiền tố với tiền tố bảng + ID blog (Chỉ khi ID khác 1 và 0).
Nếu bạn thiết lập các tham số cuối cùng $global
để true
nó không có sự khác biệt với update_user_meta()
.
Mục đích của update_user_option()
chức năng
Không giống như các bảng khác, WordPress không tạo bảng riêng cho usermeta cho mỗi trang. Nó lưu thông tin người dùng trong một bảng usermeta cho tất cả các blog (trong nhiều trang). Nó chỉ tiền tố tên khóa cho mỗi trang web, blog prefix
ví dụ như ID blog 4 wp_capabilities
được lưu trữ dưới dạng wp_4_capabilities
.
Vì vậy, bất kỳ thông tin nào bạn sẽ lưu bằng cách sử dụng update_user_option()
, ví dụ key_name_abc
sẽ trở thành wp_key_name_abc
trang web chính trong nhiều trang hoặc trong cài đặt trang web đơn. Trong tương lai nếu bạn chuyển đổi trang web duy nhất của mình sang nhiều trang, thông tin sẽ chỉ có sẵn trong trang web chính.
Sử dụng chức năng này khi bạn nghĩ rằng một số thông tin cũng phụ thuộc vào trang web + người dùng. Không thích tên, email vv vì những thông tin này thuộc về người dùng và trang web độc lập.
Cả hai đều ghi dữ liệu của họ vào bảng Us usetaeta. Tùy chọn người dùng được lưu trữ trong bảng usermeta giữ lại tiền tố của bảng wordpress, ví dụ như wp_ trong khi meta người dùng cũng được lưu trữ trong bảng usermeta thì không.
Tùy chọn người dùng hỗ trợ các tùy chọn dành riêng cho blog, hữu ích trong nhiều trang. Meta người dùng dựa trên dữ liệu meta cụ thể của id người dùng như thông tin hồ sơ.
Các thông số khá khác nhau trong thực tế. Tùy chọn người dùng có $ user_id, $ option_name, $ newvalue, $ global và người dùng meta có $ user_id, $ meta_key, $ meta_value, $ trước_value.
Dưới đây là một số giá trị cho cả hai tùy chọn và người dùng usermeta.
Tùy chọn
Người dùng
https://codex.wordpress.org/Function_Reference/update_user_option#Parameter
https://codex.wordpress.org/Function_Reference/update_user_meta#Parameter
Các ví dụ trang codex cung cấp sử dụng thế giới thực.