标签:wordpress php woocommerce account billing
我有一个表单,用户注册一个事件,如果他们想要,他们可以动态更新他们的一些计费信息.
例如,我有一个他们可以更新的信息列表
$inputs = array(
'billing_city' => 'City',
'billing_postcode' => 'Postcode',
'billing_email' => 'Email',
'billing_phone' => 'Phone',
);
然后我尝试使用WC_Customer类来更新更改的信息:
$customer = new WC_Customer( get_current_user_id() );
foreach ($inputs as $key => $label ) {
$method = 'set_'. $key;
$customer->$method( $value );
}
这似乎很直接.但是,计费信息不会更改.
我究竟做错了什么?是否有其他功能可以解决这个问题?
Woocommerce文档并没有真正解释.
解决方法:
您可以使用update_user_meta()
功能,这样:
$user_id = get_current_user_id();
$data = array(
'billing_city' => $city_value,
'billing_postcode' => $postcode_value,
'billing_email' => $email_value,
'billing_phone' => $phone_value,
);
foreach ($data as $meta_key => $meta_value ) {
update_user_meta( $user_id, $meta_key, $meta_value );
}
您需要在数组中设置值.
标签:wordpress,php,woocommerce,account,billing 来源: https://codeday.me/bug/20190701/1349120.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。