1

我已经通过 woocommerce 会员面板设置了一个名为“测试”的用户个人资料字段。

在此处输入图像描述

我现在想在网站前端访问该字段及其数据。

我查阅了文档,我能找到的最接近的功能是wc_memberships_get_members_area_sections()仅列出会员仪表板中各部分的名称,而不列出其中包含的内容。

我还查看了数据库,发现用户提交的数据存储在wp_usermeta表中。

那么如何访问这些数据呢?我想添加三个字段,即用户的姓名、年龄和图片,以便用户填写并在用户登录时将它们显示在前端页面上。

4

2 回答 2

2

wordpress 功能get_user_meta()将用于获取配置文件字段数据。

$data = get_user_meta(get_current_user_id());

配置文件字段数据以数组形式返回,您可以使用var_dump()函数检查返回的数据。

var_dump($data);

我有一个“company_name”配置文件字段,所以我使用下面的代码来获取它,

if ( $data['_wc_memberships_profile_field_company_name'][0] ) {
    $companyName = $data['_wc_memberships_profile_field_company_name'][0];
}
于 2021-06-09T13:19:50.737 回答
0

我创建了一个辅助函数来模拟 Woo Memberships 如何将数据保存在 wp_user_meta.xml 中。传入用户 ID 和带有连字符的“slug”属性作为您的 $meta_key 订单以访问给定配置文件字段的元值。

function get_membership_meta($user_id, $meta_key){
    
    $meta_key_prefix = '_wc_memberships_profile_field_';

    return get_user_meta($user_id, $meta_key_prefix . str_replace( '-', '_', $meta_key), true);

} 

前任

$company_name = get_membership_meta($post_author_id, 'company-name')
于 2021-06-29T20:04:19.443 回答