Изменение порядка вывода полей в оформлении заказа в WooCommerce версии выше 3.0.4
Итак, второй вариант, который стабильно работает в последних (на момент написания статьи) версиях WooCommerce.
Здесь мы будем также использовать две функции для двух областей оформления заказа.
Первая (для блока оплаты) – это:
function sort_fields_billing($fields) {
$fields[«billing»][«billing_first_name»][«priority»] = 1;
$fields[«billing»][«billing_last_name»][«priority»] = 5;
$fields[«billing»][«billing_company»][«priority»] = 6;
$fields[«billing»][«billing_address_1»][«priority»] = 2;
$fields[«billing»][«billing_address_2»][«priority»] = 8;
$fields[«billing»][«billing_city»][«priority»] = 7;
$fields[«billing»][«billing_postcode»][«priority»] = 9;
$fields[«billing»][«billing_country»][«priority»] = 3;
$fields[«billing»][«billing_state»][«priority»] = 11;
$fields[«billing»][«billing_email»][«priority»] = 4;
$fields[«billing»][«billing_phone»][«priority»] = 10;
return $fields;
}
add_filter(«woocommerce_checkout_fields», «sort_fields_billing»);
и вторая (для блока доставки):
function sort_fields_shipping($fields) {
$fields[«shipping»][«shipping_first_name»][«priority»] = 9;
$fields[«shipping»][«shipping_last_name»][«priority»] = 4;
$fields[«shipping»][«shipping_company»][«priority»] = 8;
$fields[«shipping»][«shipping_address_1»][«priority»] = 7;
$fields[«shipping»][«shipping_address_2»][«priority»] = 6;
$fields[«shipping»][«shipping_city»][«priority»] = 2;
$fields[«shipping»][«shipping_postcode»][«priority»] = 3;
$fields[«shipping»][«shipping_country»][«priority»] = 5;
$fields[«shipping»][«shipping_state»][«priority»] = 1;
return $fields;
}
add_filter(«woocommerce_checkout_fields», «sort_fields_shipping»);
Как вы могли заметить из примера, здесь последовательность перечисления полей не играет никакой роли, и важное здесь – это числовое значение «priority».
Поля в каждой приведенной функции будут выводиться последовательно согласно проставленным приоритетам от меньшего числа к большему.
Но стоит отметить, что порядок приоритетов вы задаете сами, и он не обязательно должен начинаться с единицы с шагом 1, а может быть, например, 10, 20, 30, или 2, 20, 200 и так далее.
Как изменить порядок вывода полей в оформлении заказа в WooCommerce?
Поделитесь этой статьей
Оставить комментарий