Відповіді:
У простому плані немає великої різниці! update_user_option()
використовує update_user_meta()
внутрішньо. Єдина відмінність - update_user_option()
префікс ім'я параметра з префіксом таблиці баз даних + ідентифікатором блогу, якщо ви перебуваєте в багатосайтовому і просто префіксі таблиці, якщо ви перебуваєте в інсталяції одного сайту.
Погляньте на код коду 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 );
}
Ім'я вашого параметра є префіксом префікса таблиці + ідентифікатора блогу (лише тоді, коли ідентифікатор відрізняється від 1 та 0).
Якщо ви встановите останній параметр $global
для true
нього не має ніякого значення , з update_user_meta()
.
Призначення update_user_option()
функції
На відміну від інших таблиць, WordPress не створює окремої таблиці для користувачамета для кожного сайту. Він зберігає інформацію про користувачів в одній таблиці користувачів користувачів для всіх блогів (у багатосторонніх сайтах). Це просто префікс ключового імені для кожного сайту, blog prefix
наприклад, для блогу ID 4 wp_capabilities
зберігається як wp_4_capabilities
.
Отже, будь-яка інформація, яку ви збережете, використовуючи update_user_option()
, наприклад key_name_abc
, стане wp_key_name_abc
для головного сайту у багатосайтовій або на одному веб-сайті. Надалі, якщо ви конвертуєте ваш єдиний сайт у багатомісний сайт, інформація буде доступна лише на головному сайті.
Використовуйте цю функцію, якщо ви думаєте, що певна інформація залежить також від сайту + користувача. Не так, як ім’я, електронна пошта тощо, оскільки ця інформація належить користувачеві та сайту незалежно.
Обидва записують свої дані в таблицю “usermeta”. Параметри користувача, збережені в таблиці usermeta, зберігають префікс таблиці wordpress, наприклад, wp_, тоді як мета користувача, що також зберігається в таблиці usermeta, відсутня.
Користувацькі параметри підтримують конкретні параметри блогу, корисні в багатосайтовій мережі. Мета користувача базується на специфічних метаданих для ідентифікатора користувача, таких як інформація про профіль.
Насправді параметри зовсім інші. Опція користувача має $ 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
Приклади сторінок кодексу забезпечують використання в реальному світі.