预先填充Woocommerce结帐字段

时间:2019-04-03 12:13:39

标签: php wordpress woocommerce checkout hook-woocommerce

我正在尝试在woocommerce结帐页面中预填充其他字段,但是我为此感到困惑。

conf.py

除了$ current_user->电话,$ current_user->公司,$ current_user-> vat之外,其他方法均有效

请帮忙吗?

2 个答案:

答案 0 :(得分:0)

电话,公司和其他信息在元数据中。

 $phone = get_user_meta($current_user,'phone_number',true);

您也不需要全局变量。这也是危险的。

 add_filter('woocommerce_checkout_get_value', function($input, $key ) 
    {
     $current_user = get_current_user_id();

    switch ($key) :
    case 'billing_first_name':
    case 'shipping_first_name':
        return $current_user->first_name;
    break;
    case 'billing_last_name':
    case 'shipping_last_name':
        return $current_user->last_name;

    case 'billing_phone':
        $phone = get_user_meta($current_user,'phone_number',true);
        return  $phone;
    break;

    case 'billing_company':
    case 'shipping_company':
         // May or may not be in meta data
    break;

   case 'billing_vat':
       // Not available through user
    break;
   endswitch;
   }, 10, 2);

您可以在此处看到更多信息: https://codex.wordpress.org/Function_Reference/get_user_meta

增值税有点复杂,因为它基于国家/地区而不是用户名。当国家在那儿时,增值税就不会了。最好的检索方法是通过woocommerce。

对于也不是直接Wordpress的公司名称(有时称为组织)。通常是通过第三方插件(例如woocommerce,成员资格或将功能添加到帐户的自定义插件)添加的。您必须查看所使用的内容。

答案 1 :(得分:-1)

只是这样使用

全局$ current_user;

案例“ billing_phone”: 返回$ current_user-> billing_phone; 休息;