2013-09-08 4 views
2

Я продаю цифровые загрузки на моем сайте Wordpress с использованием Woocommerce. Я смог использовать плагин для настройки страницы проверки, чтобы клиенты могли указывать свои имена и фамилии и адрес электронной почты для покупки продукта. Я хотел бы, чтобы то же самое было показано на странице Информация о клиенте и Редактировать мой адрес страница и Учетная запись страница.Настроить учетную запись пользователя Woocommerce Страница

Прямо сейчас, в нижней части страницы учетной записи, это информация о вызове с страницы my-address.php. Он вызывает Биллинг-адрес (имя и фамилия) и адрес доставки, который не отображается, потому что им не требуется вводить адрес доставки.

Я бы хотел, чтобы Адрес выставления счета был «Имя» и Адрес доставки «Электронная почта» и чтобы адрес электронной почты человека вызывался от my-address.php. Я действительно знаю, как изменить Биллинг адрес на имя. Но я не могу понять, как изменить адрес доставки на электронную почту и показать электронную почту этого человека.

Кто-нибудь знает, как я могу это сделать?

Спасибо за ваше время.

ответ

6

Если вы скопируете файлы шаблонов из каталога плагина в свою тему (или дочернюю тему), вы можете отредактировать их, чтобы получить то, что вы хотите. Файлы в каталоге темы переопределяют шаблон плагина.

Так оригинальные шаблоны в plugins/woocommerce/templates/myaccount

Переместить файлы, которые вы хотите изменить (вероятно, просто my-address.php, и/или my-account.php) в themes/my-theme/woocommerce/templates/myaccount/.

(NB: это то, что говорят документы, хотя я обнаружил, что каталог должен быть themes/my-theme/woocommerce/myaccount/ -Хотя, которые могут быть из конфликтующих плагинов я также установили.)

При редактировании РНР файл, поля вы после этого являются:

$firstname = get_user_meta($customer_id, 'billing_first_name', true); 
$lastname = get_user_meta($customer_id, 'billing_last_name', true); 
$email = get_user_meta($customer_id, 'billing_email', true); 

файл my-address.php имеет массив, похожий:

$address = apply_filters('woocommerce_my_account_my_address_formatted_address', array(
       'first_name' => get_user_meta($customer_id, $name . '_first_name', true), 
       'last_name'  => get_user_meta($customer_id, $name . '_last_name', true), 
       'company'  => get_user_meta($customer_id, $name . '_company', true), 
       'address_1'  => get_user_meta($customer_id, $name . '_address_1', true), 
       'address_2'  => get_user_meta($customer_id, $name . '_address_2', true), 
       'city'   => get_user_meta($customer_id, $name . '_city', true), 
       'state'   => get_user_meta($customer_id, $name . '_state', true), 
       'postcode'  => get_user_meta($customer_id, $name . '_postcode', true), 
       'country'  => get_user_meta($customer_id, $name . '_country', true) 
      ), $customer_id, $name); 

$name заменяется на 'billing', поэтому вы можете просто изменить одну из этих адресных строк на '_email', если хотите.