Snadno přidejte pole IČ a DIČ do své pokladny WooCommerce bez pluginů. Postupujte podle našeho jednoduchého průvodce pro rychlé nastavení ještě dnes!
Jak na to?
Níže uvedený kód stačí vložit do souboru functions.php ve vaší aktivní child šabloně. Pokud používáte Oxygen Builder, nebo nepoužíváte child šablonu (což určitě doporučujeme), kód umístěte jako nový snippet např. pomocí pluginu Code snippets.
// Přidání vlastních polí do formuláře pokladny
function add_custom_checkout_fields( $fields ) {
$fields['billing']['billing_ic'] = array(
'label' => __('IČ', 'woocommerce'),
'placeholder' => _x('IČ', 'placeholder', 'woocommerce'),
'required' => false,
'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,
);
// Získání pozice pole "Název firmy"
$company_field_position = array_search('billing_company', array_keys($fields['billing']));
// Vložení pole "IČ" pod pole "Název firmy"
if ($company_field_position !== false) {
$company_field_position++;
$fields['billing'] = array_slice($fields['billing'], 0, $company_field_position, true) +
array('billing_ic' => $fields['billing']['billing_ic'], 'billing_dic' => $fields['billing']['billing_dic']) +
array_slice($fields['billing'], $company_field_position, null, true);
}
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'add_custom_checkout_fields' );
// Uložení vlastních polí
function save_custom_checkout_fields( $order_id ) {
if ( ! empty( $_POST['billing_ic'] ) ) {
update_post_meta( $order_id, 'billing_ic', sanitize_text_field( $_POST['billing_ic'] ) );
}
if ( ! empty( $_POST['billing_dic'] ) ) {
update_post_meta( $order_id, 'billing_dic', sanitize_text_field( $_POST['billing_dic'] ) );
}
}
add_action( 'woocommerce_checkout_update_order_meta', 'save_custom_checkout_fields' );
// Zobrazení v administraci v objednávkách
function display_custom_fields_in_admin_order( $order ){
echo '<p><strong>'.__('IČ').':</strong> ' . get_post_meta( $order->get_id(), 'billing_ic', true ) . '</p>';
echo '<p><strong>'.__('DIČ').':</strong> ' . get_post_meta( $order->get_id(), 'billing_dic', true ) . '</p>';
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'display_custom_fields_in_admin_order', 10, 1 );
Uložení a zobrazení polí
Jakmile je kód na místě, WooCommerce automaticky přidá pole pro IČ a DIČ do formuláře pokladny a uchová tyto informace s objednávkou. V administraci WooCommerce pak snadno uvidíte tyto hodnoty u každé objednávky.
Proč to dělat bez pluginů?
Použitím tohoto přístupu si udržíte větší kontrolu nad funkcionalitou vašeho webu, snížíte riziko konfliktů mezi pluginy a zvýšíte rychlost načítání vašeho webu.
Zkuste to a uvidíte, že přidání funkcí do vašeho e-shopu může být snadné a efektivní i bez zbytečných pluginů. Váš e-shop bude rychlejší, bezpečnější a přesně na míru vašim potřebám.