Я создаю форму оформления в стиле madlib, используя поля оформления WooTheme, используя действия и фильтры .
Поля оплаты в шаблоне оформления заказа form-billing.php
отображаются с помощью этого вызова:
<?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>
Как изменить порядок появления полей?
Текущий (по умолчанию) порядок полей:
имя, фамилия,
название
компании (скрыто для меня)
город / город
почтовый индекс
страна-
государство
электронная почта
телефон
Порядок по умолчанию:
Я хочу, чтобы поля были в более естественном порядке для американцев (там, где я живу), поэтому:
имя,
фамилия,
компания (скрыто для меня)
город /
штат
почтовый индекс
страны
электронной почта
телефон
Как я могу лучше всего это сделать?
$fields['billing']['billing_country']['priority'] = 10;
$fields['billing']['billing_phone']['priority'] = 20;
Смотрите здесь https://wordpress.org/support/topic/change-order-of-billing-fields-on-checkout-page/Спасибо Dbranes за ответ.
Заменить:
С:
источник
Вы можете сделать копию в своей теме и отредактировать шаблон, который отображает форму оформления заказа.
Адаптировано из документации плагина :
[Обновить]
В этом файле, перед полями, распечатано, есть это действие крюк:
do_action('woocommerce_before_checkout_billing_form', $checkout);
.Таким образом, это просто вопрос добавления этого действия в тему
functions.php
или в пользовательский плагин и изменения порядка полей, как показано в ОП в его Ответе. Нет необходимости переопределять шаблон, или да, если необходимы дальнейшие настройки.источник
<?php do_action('woocommerce_checkout_billing'); ?>
оптом.