// Thay đổi tên và placeholder của trường tên trong thanh toán
add_filter('woocommerce_checkout_fields', 'ced_rename_checkout_fields');
function ced_rename_checkout_fields($fields) {
$fields['billing']['billing_first_name']['placeholder'] = 'Name';
$fields['billing']['billing_first_name']['label'] = 'Name';
$fields['billing']['billing_first_name']['class'] = array('form-row-wide');
return $fields;
}
// Xóa một số trường không cần thiết trong biểu mẫu thanh toán
add_filter('woocommerce_billing_fields', 'wpb_custom_billing_fields');
function wpb_custom_billing_fields($fields) {
unset($fields['billing_last_name']);
unset($fields['billing_company']);
unset($fields['billing_address_1']);
unset($fields['billing_address_2']);
unset($fields['billing_state']);
unset($fields['billing_city']);
unset($fields['billing_phone']);
unset($fields['billing_postcode']);
unset($fields['billing_country']);
return $fields;
}
// Xóa một số trường từ biểu mẫu thanh toán
add_filter('woocommerce_checkout_fields', 'custom_override_checkout_fields_ek', 99);
function custom_override_checkout_fields_ek($fields) {
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_state']);
return $fields;
}
// Xóa các trường thanh toán nếu tất cả sản phẩm là ảo
add_filter('woocommerce_checkout_fields', 'virtual_products_less_fields');
function virtual_products_less_fields($fields) {
$all_virtual = true;
// Kiểm tra nếu tất cả các sản phẩm trong giỏ hàng đều là ảo
foreach (WC()->cart->get_cart() as $cart_item) {
if (!$cart_item['data']->is_virtual()) {
$all_virtual = false;
break;
}
}
// Nếu tất cả sản phẩm là ảo, xóa các trường không cần thiết
if ($all_virtual) {
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
}
return $fields;
}