Réponses:
En termes simples, il n'y a pas de différence majeure! update_user_option()
utilise en update_user_meta()
interne. La seule différence est le update_user_option()
préfixe du nom de l'option avec le préfixe de table de base de données + l'ID de blog si vous êtes en multisite et juste le préfixe de table si vous êtes dans une installation à site unique.
Jetez un oeil au code de 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 );
}
Le nom de votre option est préfixé par le préfixe de la table + l'ID du blog (uniquement lorsque l'ID est différent de 1 et 0).
Si vous définissez le dernier paramètre $global
sur true
il n'a aucune différence avec update_user_meta()
.
But de la update_user_option()
fonction
Contrairement à d'autres tableaux, WordPress ne crée pas de tableau séparé pour l'usermeta pour chaque site. Il enregistre les informations des utilisateurs dans une table usermeta pour tous les blogs (en multisite). Il suffit de préfixer le nom de la clé pour chaque site avec blog prefix
par exemple pour le blog ID 4 wp_capabilities
est stocké sous wp_4_capabilities
.
Ainsi, quelles que soient les informations que vous enregistrerez en utilisant update_user_option()
, par exemple, key_name_abc
elles deviendront wp_key_name_abc
pour le site principal dans une installation multisite ou sur un seul site. À l'avenir, si vous convertissez votre site unique en site multiple, les informations ne seront disponibles que sur le site principal.
Utilisez cette fonction lorsque vous pensez que certaines informations dépendent également du site + de l'utilisateur. Pas comme le nom, l'e-mail, etc., car ces informations appartiennent à l'utilisateur et au site.
Tous deux écrivent leurs données dans le tableau «usermeta». Les options utilisateur stockées dans la table usermeta conservent le préfixe de la table wordpress, par exemple wp_, contrairement à la méta utilisateur également stockée dans la table usermeta.
Les options utilisateur prennent en charge les options spécifiques au blog, utiles dans le multisite. Les métadonnées utilisateur sont basées sur les métadonnées spécifiques à l'ID utilisateur, comme les informations de profil.
Les paramètres sont en fait assez différents. L'option utilisateur a $ user_id, $ option_name, $ newvalue, $ global et l'utilisateur meta a $ user_id, $ meta_key, $ meta_value, $ prev_value.
Voici quelques valeurs pour les options et l'utilisateur usermeta.
Les options
Utilisateur
https://codex.wordpress.org/Function_Reference/update_user_option#Parameters
https://codex.wordpress.org/Function_Reference/update_user_meta#Parameters
Les exemples de pages codex fournissent une utilisation réelle.