add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_email']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_2']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
unset($fields['shipping']['shipping_email']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_2']);
return $fields;
}
Хуком или плагином - аля YITH WooCommerce Checkout Manager (бесплатной версии должно хватить).
Оставьте то, что хотите убрать. Например: unset($fields['billing']['billing_state']);
PHP:add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_email']); unset($fields['billing']['billing_company']); unset($fields['billing']['billing_address_2']); unset($fields['shipping']['shipping_postcode']); unset($fields['shipping']['shipping_country']); unset($fields['shipping']['shipping_state']); unset($fields['shipping']['shipping_email']); unset($fields['shipping']['shipping_company']); unset($fields['shipping']['shipping_address_2']); return $fields; }
Любым бесплатным плагином аля "Checkout Manager " можно сделать поле billing_state необязательным для заполнения. А если необходима логика при выборе параметров, рассматривайте платные плагины.Спасибо за хук) Но мне нужно не удалить поле, как таковое. У меня в поле state - список регионов РФ. При выборе, например, какого-либо региона, допустим, Владимирской области, в поле city нужно вписать еще и город из этой области (для доставки). Но если из списка был бы выбран регион - Москва, то в поле city уже нет смысла вписывать еще раз Москва (уже сам по себе регион). Но так как поле city required, то необходимо еще раз вписать Москва в поле city. Может, есть готовый код, который делает поле city неактивным (или false) при выборе конкретного региона из поля state...
function custom_my_fields($fields) {
$fields["billing"]["billing_last_name"]["required"] = false; // Фамилия не обязательна
$fields["billing"]["billing_phone"]["required"] = true; // Телефон обязателен
return $fields;
}
add_filter("woocommerce_checkout_fields", "custom_my_fields");
Любым бесплатным плагином аля "Checkout Manager " можно сделать поле billing_state необязательным для заполнения. А если необходима логика при выборе параметров, рассматривайте платные плагины.
Если делать хуком (необязательное поле), принцип такой же:
Код:function custom_my_fields($fields) { $fields["billing"]["billing_last_name"]["required"] = false; // Фамилия не обязательна $fields["billing"]["billing_phone"]["required"] = true; // Телефон обязателен return $fields; } add_filter("woocommerce_checkout_fields", "custom_my_fields");