WooCommerce изменить метки формы и удалить поля

Я пытаюсь настроить страницу оформления заказа WooCommerce, как мне изменить метки полей?

Кроме того, как я могу удалить 2 поля из формы? Мне не нужны поля Company и State.


person jOpacic    schedule 12.02.2013    source источник


Ответы (3)


Я рекомендую создать собственный плагин, который изменяет это, чтобы вы могли легко обновить WooCommerce позже.

В своем настраиваемом плагине внедрите часть кода, найденного здесь: http://wcdocs.woothemes.com/snippets/tutorial-customising-checkout-fields-using-actions-and-filters/

Например, чтобы удалить Company и State:

// Hook in
add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields' );
// Our Hooked in function - $fields is passed via the filter
function custom_override_checkout_fields( $fields) {
    unset($fields['shipping']['shipping_state']);
    unset($fields['shipping']['shipping_company']);
    return $fields;
}

Если вам нужна помощь в создании плагина, я сделал руководство по добавлению настраиваемых полей на страницу продукта. Я думаю, это может быть полезно в этом контексте. http://www.xatik.com/2013/02/06/add-custom-form-woocommerce-product/

person Craig    schedule 12.02.2013
comment
Ваш пост о том, как превратить это в плагин, чрезвычайно полезен. Спасибо, сэр! - person arrayown; 19.03.2013
comment
Я рад, что это было кому-то полезно! Я потратил много часов, пытаясь понять это. - person Craig; 19.03.2013

Вот рабочий хук, который вам нужно добавить в файл functions.php вашей темы.

add_filter( 'woocommerce_checkout_fields' , 'remove_checkout_fields' );

function remove_checkout_fields( $fields ) {
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_country']);
    return $fields;
}
person Ajay Malhotra    schedule 11.10.2016

Обновление для будущих читателей -

В WooCommerce Docs теперь есть статья кодекса о Настройка поля оформления заказа с использованием действий и фильтров, что выглядит довольно полно.

Единственное, что я хочу отметить, это то, что с WooCommerce 3.5.1 есть небольшая уловка с использованием ярлыков Billing / Shipping_Address_2, как описано в моем ответе на этот вопрос.

person user1138    schedule 02.11.2018