如何解决结帐后使用 WooCommerce 计费电子邮件更新 WordPress 帐户电子邮件
成功结帐后,我需要使用 woocommerce 帐单电子邮件更新 wordpress 帐户电子邮件。我使用了这段代码,但它不起作用:
/* Update account email based on woocommerce billing email */
add_filter( 'woocommerce_thankyou','custom_update_checkout_fields',10,2 );
function custom_update_checkout_fields($user_id,$old_user_data ) {
$current_user = wp_get_current_user();
// Updating Billing info
if($current_user->user_email != $current_user->billing_email)
update_user_Meta($user_id,'billing_email',$current_user->user_email);
}
我使用的是过时的代码吗?
解决方法
有一些错误。请尝试以下操作:
add_filter( 'woocommerce_thankyou','thankyou_update_wordpress_user_email' );
function thankyou_update_wordpress_user_email( $order_id ) {
$order = wc_get_order( $order_id );
$user = $order->get_user();
$billing_email = $order->get_billing_email();
// Updating user account email
if( is_a($user,'WP_User' ) && $user->user_email != $billing_email ) {
$user_data = wp_update_user( array( 'ID' => $user->ID,'user_email' => $billing_email ) );
}
}
代码位于活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。
注意:更改用户电子邮件时,WordPress 会向新用户电子邮件发送一封电子邮件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。