gpt4 book ai didi

php - 创建用户时以编程方式更新 WooCommerce 用户

转载 作者:行者123 更新时间:2023-12-04 08:38:40 36 4
gpt4 key购买 nike

我试图通过表单以编程方式创建一个新用户,但我在获取电话号码和国家/地区设置槽时遇到问题 wp_create_user - 为什么不取值?名字和姓氏按预期工作。
相关代码:

$user_id = wp_create_user( $username, $random_password, $user_email ); 
wp_update_user([
'ID' => $user_id,
'first_name' => rgar( $entry, '20.3' ),
'last_name' => rgar( $entry, '20.6' ),
'phone' => rgar( $entry, '16' ),
'country' => rgar( $entry, '24.6' )
]);

最佳答案

在 WooCommerce 中,电话和国家/地区是计费字段,因此正确的用户元键是:

  • billing_country (请记住,您需要设置有效的国家/地区代码)
  • billing_phone

  • 您还需要设置 billing_email , billing_first_namebilling_last_name因此,您的代码将改为,同时替换您的 wp_create_user()功能:
        $username = rgar( $entry, '20.3' );
    $email = rgar( $entry, '10' );
    $password = wp_generate_password( 12, false );

    $user_data = array(
    'user_login' => $username,
    'user_pass' => $password,
    'user_email' => $email,
    'role' => 'customer',
    'first_name' => rgar( $entry, '20.3' ),
    'last_name' => rgar( $entry, '20.6' ),
    );

    $user_id = wp_insert_user( $user_data ); // Create user with specific user data
    然后添加 WooCommerce 用户数据有两种方法:
    1)。使用 WC_Customer对象和方法:
        $customer = new WC_Customer( $user_id ); // Get an instance of the WC_Customer Object from user Id

    $customer->set_billing_first_name( rgar( $entry, '20.3' ) );
    $customer->set_billing_last_name( rgar( $entry, '20.6' ) );
    $customer->set_billing_country( rgar( $entry, '24.6') );
    $customer->set_billing_phone( rgar( $entry, '16' ) );
    $customer->set_billing_email( $email );

    $customer->save(); // Save data to database (add the user meta data)
    2) 或使用 WordPress update_user_meta()功能 (旧方式):
    update_user_meta( $user_id, 'billing_first_name', rgar( $entry, '20.3') );
    update_user_meta( $user_id, 'billing_last_name', rgar( $entry, '20.6') );
    update_user_meta( $user_id, 'billing_country', rgar( $entry, '24.6') );
    update_user_meta( $user_id, 'billing_phone', rgar( $entry, '16') );
    update_user_meta( $user_id, 'billing_email', $email );

    关于php - 创建用户时以编程方式更新 WooCommerce 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64665983/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com