我一直在尝试在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);

至于添加钩子,我认为这个答案可能是您想要的?

更新

根据一些后续评论,我将添加:

  1. 功能 get_user_metavalues($user_ids)/wp-includes/user.php 将返回一系列用户数据阵列。

  2. 功能 get_userdata() 使用 get_user_metavalues($user_ids)/wp-includes/pluggable.php 并返回用户数据对象。

  3. 用户元通过在 /wp-includes/meta.php 因此,如果您正在寻找SQL JOIN 在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)
许可以下: CC-BY-SA归因
scroll top