Adding Custom Checkout Fields — a practical guide to WooCommerce custom checkout fields with clear examples you can reuse in real projects.
WooCommerce Plugin Development Series (19/101). Prefer one article? Read the complete WooCommerce plugin development tutorial.
Short description
For block checkout, also implement Blocks field extensibility. Start with classic fields, then add block support.
Add checkout field
add_filter('woocommerce_checkout_fields', function ($fields) {
$fields['billing']['billing_gstin'] = [
'label' => 'GSTIN',
'required' => false,
'class' => ['form-row-wide'],
'priority' => 120,
];
return $fields;
});