在 Woocommerce 中编辑订单详细信息时自动更新 Wordpress 用户数据

尼库·泽切鲁

在 Woocommerce 订单编辑页面中,编辑客户订单不会更新 Wordpress 用户数据中的客户用户详细信息。

是否可以在编辑订单中的运输和账单信息后自动保存客户详细信息?

LoicTheAztec

是的,这可以使用save_post_shop_order钩子完成所有帐单和运输客户字段(包括“帐单电子邮件”和“帐单电话”字段):

add_action('save_post_shop_order', 'update_wp_user_data', 50, 3 );
function update_wp_user_data( $post_id, $post, $update ) {

    // Checking that is not an autosave
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){
            update_post_meta( $post_id, '_invoices_files', 'auto-save-verif' );
            return $post_id;
        }

    // Check the user’s permissions (for 'shop_manager' and 'administrator' user roles)
    if ( ! current_user_can( 'edit_shop_order', $post_id ) ){
            update_post_meta( $post_id, '_invoices_files', 'user-roles-verif' );
            return $post_id;
        }

    // Get the customer ID and check if it's valid
    $customer_id = get_post_meta( $post_id, '_customer_user', true );
    if( empty($customer_id) || $customer_id == 0 )
        return $post_id;

    // Set all field keys in arrays
    $field_keys = array('first_name', 'last_name', 'company', 'address_1', 'address_2', 'city',
        'postcode', 'country', 'state');
    $fields_keys2 = array('email', 'phone');

    foreach( $field_keys as $key ){
        if( isset($_POST['_billing_'.$key]) ){
            update_user_meta( $customer_id, 'billing_'.$key, sanitize_text_field( $_POST['_billing_'.$key] ) );
        }
        if( isset($_POST['_shipping_'.$key]) ){
            update_user_meta( $customer_id, 'shipping_'.$key, sanitize_text_field( $_POST['_shipping_'.$key] ) );
        }
    }

    foreach( $fields_keys2 as $key ){
        if( isset($_POST['_billing_'.$key]) ){
            update_user_meta( $customer_id, 'billing_'.$key, sanitize_text_field( $_POST['_billing_'.$key] ) );
        }
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

避免 WooCommerce Checkout Billing 表单覆盖默认的 Wordpress 用户数据

来自分类Dev

在wordpress中按角色列出,分页和搜索自定义用户数据

来自分类Dev

在模板中显示用户数据

来自分类Dev

从数据库中获取woocommerce订单详细信息

来自分类Dev

Wordpress:从外部脚本访问登录的用户数据

来自分类Dev

编辑用户数据后如何更新passportJWT数据?

来自分类Dev

如何授权用户更新自己的用户数据

来自分类Dev

如何在Firestore中获取与authUser相关的用户数据库详细信息?

来自分类Dev

在更新时强制删除用户数据

来自分类Dev

我只想为访客用户在woocommerce模板订单详细信息中添加取消订单按钮?

来自分类Dev

编辑奏鸣曲用户数据

来自分类Dev

DHTMLX树不会自动设置用户数据

来自分类Dev

更新后刷新身份验证用户数据

来自分类Dev

Spring MVC用户数据更新问题

来自分类常见问题

从Firebase读取用户数据时发生NullPointerException

来自分类Dev

流星-未登录时发布/订阅用户数据

来自分类Dev

登录时查看/获取登录的用户数据-CodeIgniter

来自分类Dev

有时用户数据混乱

来自分类Dev

Firebase在注册时设置用户数据

来自分类Dev

Firebase在创建帐户时创建额外的用户数据

来自分类Dev

我如何在 wp admin 的 woocomerce 订单详细信息页面上显示自定义用户数据

来自分类Dev

Android 4.3中的用户数据目录

来自分类Dev

在PHP中显示用户数据的最佳做法

来自分类Dev

AWS CloudFormation用户数据中的Crontab

来自分类Dev

Boto中的用户数据脚本未执行

来自分类Dev

在Android中存储敏感的用户数据

来自分类Dev

在自定义PermissionEvaluator中访问用户数据

来自分类Dev

在Android应用中存储和检索用户数据?

来自分类Dev

Laravel 7 __construct中的用户数据

Related 相关文章

  1. 1

    避免 WooCommerce Checkout Billing 表单覆盖默认的 Wordpress 用户数据

  2. 2

    在wordpress中按角色列出,分页和搜索自定义用户数据

  3. 3

    在模板中显示用户数据

  4. 4

    从数据库中获取woocommerce订单详细信息

  5. 5

    Wordpress:从外部脚本访问登录的用户数据

  6. 6

    编辑用户数据后如何更新passportJWT数据?

  7. 7

    如何授权用户更新自己的用户数据

  8. 8

    如何在Firestore中获取与authUser相关的用户数据库详细信息?

  9. 9

    在更新时强制删除用户数据

  10. 10

    我只想为访客用户在woocommerce模板订单详细信息中添加取消订单按钮?

  11. 11

    编辑奏鸣曲用户数据

  12. 12

    DHTMLX树不会自动设置用户数据

  13. 13

    更新后刷新身份验证用户数据

  14. 14

    Spring MVC用户数据更新问题

  15. 15

    从Firebase读取用户数据时发生NullPointerException

  16. 16

    流星-未登录时发布/订阅用户数据

  17. 17

    登录时查看/获取登录的用户数据-CodeIgniter

  18. 18

    有时用户数据混乱

  19. 19

    Firebase在注册时设置用户数据

  20. 20

    Firebase在创建帐户时创建额外的用户数据

  21. 21

    我如何在 wp admin 的 woocomerce 订单详细信息页面上显示自定义用户数据

  22. 22

    Android 4.3中的用户数据目录

  23. 23

    在PHP中显示用户数据的最佳做法

  24. 24

    AWS CloudFormation用户数据中的Crontab

  25. 25

    Boto中的用户数据脚本未执行

  26. 26

    在Android中存储敏感的用户数据

  27. 27

    在自定义PermissionEvaluator中访问用户数据

  28. 28

    在Android应用中存储和检索用户数据?

  29. 29

    Laravel 7 __construct中的用户数据

热门标签

归档