用户表和usermeta表在WordPress核心的哪一部分中得到加入?
题
我一直在尝试在WordPress的巨大丛林中弄清楚usermeta表被连接到用户表上的位置,如果是,它如何工作?
关于我的usermeta表的一件令人困惑的事情是,它是为数据库字段使用键/值字段,而不是诸如first_name或last_name之类的实际值。 WordPress如何知道默认情况下要拉出哪些字段,并且是否存在添加和检索Usermeta字段数据的钩子,操作和过滤器?
解决方案
我不是100%您问的,这似乎是几个问题?但是来了:
$meta_value = get_user_meta($user_id, $key, $single);
例如:
$first_name = get_user_meta($user_id, 'first_name', true);
至于添加钩子,我认为这个答案可能是您想要的?
更新
根据一些后续评论,我将添加:
功能
get_user_metavalues($user_ids)
从/wp-includes/user.php
将返回一系列用户数据阵列。功能
get_userdata()
使用get_user_metavalues($user_ids)
从/wp-includes/pluggable.php
并返回用户数据对象。用户元通过在
/wp-includes/meta.php
因此,如果您正在寻找SQLJOIN
在WP_USER和WP_USERMETA之间,您不太可能找到一个。该文件包括以下功能:
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)