WooCommerce:将结账页面的名称字段添加到买家WordPress显示名称

时间:2021-07-20 作者:Erfan

我们使用Woocommerce销售在线课程。我们还使用了一个名为;“数字”;帮助用户仅使用手机号码和以短信形式发送给他们的OTP轻松登录/注册。因此,登录/注册我们的网站,只需输入手机号码(没有注册的名称)。

这个过程使用户只需使用自己的号码就可以轻松地创建帐户和登录,但这会带来一些问题。

the problems are :1-我们需要digits插件的电话号码字段,在每个订单上作为woocommerce电话号码签出字段提交(我们删除了woocommerce签出中的电话号码字段,因为订购物品的用户已经使用digits插件注册了他们的电话号码)

2-我们需要将woocommerce结账表单的名称字段设置为用户在每次订单后显示wordpress帐户的名称。

1 个回复
最合适的回答,由SO网友:Erfan 整理而成

问题的第二部分通过将此代码放入主题函数中来解决。php文件:

// First name as default display name

add_action( \'profile_update\', \'set_display_name\', 10 );

function set_display_name( $user_id ) {

    $data = get_userdata( $user_id );

    if($data->first_name) {

        remove_action( \'profile_update\', \'set_display_name\', 10 ); // profile_update is called by wp_update_user, so we need to remove it before call, to avoid infinite recursion
        wp_update_user( 
            array (
                \'ID\' => $user_id, 
                \'display_name\' => "$data->first_name"
            ) 
        );
        add_action( \'profile_update\', \'set_display_name\', 10 );
    }
}
Only 第一个有待解决的问题是添加;“数字”;电话号码字段至billing_phone woocommerce订单中的字段。

相关推荐

Apply_Filters()对所需的参数进行切片

我正在尝试向WooCommerce订单中的每个退款行添加一个按钮(其功能超出了这个问题的范围,足以说明它需要退款id作为参数)。我发现这些行是在woocommerce\\includes\\admin\\meta Box\\views\\html订单退款中创建的。无法重写的php。然而,有一项行动:do_action( \'woocommerce_admin_order_item_values\', null, $refund, $refund->get_id() ); 这似乎非常适合我的