Nedávno se mě někdo v komentářích ptal, zda neznám způsob, jak přidat do procesu objednávky veWoocommerce políčka pro IČ a DIČ. Proto bude dnešní tip pro Woocommerce, právě způsob, jak rozšířit formulář pro formulář s fakturační adresou.
Nebudu to nijak natahovat, postup je jednoduchý a využívá filtru woocommerce_checkout_fields, který je v pluginu k dispozici.
Funkce, kterou vložíte do functions.php vypadá takto:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_ico'] = array(
'label' => __('IČ', 'woocommerce'),
'placeholder' => _x('IČ', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-wide'),
'clear' => true
);
$fields['billing']['billing_dic'] = array(
'label' => __('DIČ', 'woocommerce'),
'placeholder' => _x('DIČ', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
Samotné textové pole formuláře definuje toto pole:
$fields['billing']['billing_ico'] = array(
'label' => __('IČ', 'woocommerce'),
'placeholder' => _x('IČ', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-wide'),
'clear' => true
);
První klíč ‚billing‘, určuje, kam bude políčko s názvem ‚billing_ico‘ zařazeno. Pokud budete chtít přidat i pole do doručovací adresy, stačí změnit billing na shipping. Pokud nechcete, aby bylo políčko povinné, změňte required z true na false.
Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce