Как изменить порядок вывода полей в оформлении заказа в WooCommerce?

brandpixel.ru
2 мин. на чтение
Изменение порядка вывода полей в оформлении заказа в 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 и так далее.
Поделитесь этой статьей
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *