在user_register钩子中使用自定义元值更新WooCommerce billing_phone



在从另一个插件注册用户时,我试图用该插件的自定义元值更新WooCommerce的"billing_phone"值。像这样:

add_action( 'user_register', 'eks_user_register_phone' );
function eks_user_register_phone( $user_id ) {
$full_phone = get_user_meta($user_id, 'custom_phone_value', true);

update_user_meta($user_id, 'billing_phone', $full_phone);
}

在这个被解雇的时候,我确实可以访问其他值,比如"昵称":

$get_nick = get_user_meta($user_id, 'nickname', true);

这将反映Wordpress codex:插件API/动作参考/user_register 中提到的这一点

当动作被触发。

有没有办法使用这个特定的钩子来解决这个问题?

谢谢。

您有两个条件:

  1. 用户注册
  2. 自定义元值可用性

所以,你可以试着在插件中找到一个钩子,它在元数据处理之前/之后被调用,并在里面附加一个函数"user_register";。

add_action( 'user_register', 'myfunction_user_register' );
function myfunction_user_register() {
add_action( 'custom_plugin_meta_added', 'myfunction_next' );
}
function myfunction_next() {
//your code
}

另一个解决方案是使用最新的钩子,比如"shutdown"。

此外,请注意有用的WC挂钩:'woococommerce_checkout_update_user_meta'

最新更新