Предварительно заполнить поля оформления заказа в Woocommerce - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь предварительно заполнить дополнительные поля на странице оформления заказа в woocommerce, но я борюсь с этим.

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

    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':
            return $current_user->phone;
        break;
                case 'billing_company':
                case 'shipping_company':
            return $current_user->company;
        break;
                case 'billing_vat':
            return $current_user->vat;
        break;
    endswitch;
}, 10, 2);

Это работает за исключением $ current_user-> phone, $ current_user-> company, $current_user-> НДС

Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 13 мая 2019

Телефон, компания и другая информация находится в метаданных.

 $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, членство или пользовательский плагин, который добавляет функцию в учетную запись.Вы должны увидеть, что вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...