In quale parte del nucleo Wordpress fa il tavolo degli utenti e la tabella usermeta vengono uniti?
Domanda
Ho cercato di capire proprio dove nel massiccio giungla di Wordpress comprendono classi della tabella usermeta si unisce sul tavolo degli utenti e, se sì, come funziona?
L'unica cosa di confusione circa la tabella di usermeta per me è che si sta usando campi chiave / valore per i campi del database e dei valori non attuali come first_name o cognome. Come Wordpress sapere quali campi per tirare fuori per impostazione predefinita e ci sono ganci, le azioni e filtri per l'aggiunta e il recupero dei dati dal campo usermeta?
Soluzione
Non sto al 100% quello che stai chiedendo, sembra che alcune domande? Ma ecco qui:
$meta_value = get_user_meta($user_id, $key, $single);
Ad esempio:
$first_name = get_user_meta($user_id, 'first_name', true);
Per quanto riguarda l'aggiunta di ganci penso che questa risposta potrebbe essere quello che stai cercando?
UPDATE
Sulla base di alcuni commenti di follow-up io aggiungo:
-
La funzione
get_user_metavalues($user_ids)
da/wp-includes/user.php
restituisce un array di array di dati utente. -
I valori recupera funzione
get_userdata()
utente utilizzandoget_user_metavalues($user_ids)
da/wp-includes/pluggable.php
e ritorna un oggetto dati utente. -
Utente Meta è gestito attraverso le funzioni di metadati generici si trovano in
/wp-includes/meta.php
quindi se siete alla ricerca di unJOIN
SQL tra wp_users e wp_usermeta non sono suscettibili di trovare uno. Questo file include le seguenti funzioni:
add_metadata($meta_type,$object_id,$meta_key,$meta_value,$unique=false)
update_metadata($meta_type,$object_id,$meta_key,$meta_value,$prev_value='')
delete_metadata($meta_type,$object_id,$meta_key,$meta_value='',$delete_all=false)
get_metadata($meta_type,$object_id,$meta_key='',$single=false)
update_meta_cache($meta_type,$object_ids)