Upravení dat subjektu (kontaktu)
Pokud potřebujete upravit data odesílaná do Fakturoidu za účelem vytvoření kontaktu můžete k tomu využít připravený filtr.
Filtr pro úpravu dat
Section titled “Filtr pro úpravu dat”apply_filters( 'wpify_woo_fakturoid_subject_data', $data, $order, $wc_order );Parametry filtru
Section titled “Parametry filtru”| Parametr | Typ | Popis |
|---|---|---|
$data | array | Data kontaktu k odeslání |
$order | OrderModel | Model objednávky s Fakturoid daty |
$wc_order | WC_Order | WooCommerce objednávka |
Struktura odesílaných dat
Section titled “Struktura odesílaných dat”Základní fakturační údaje
Section titled “Základní fakturační údaje”$data = array( 'name' // Fakturační jméno společnosti nebo celé jméno 'full_name' // Fakturační celé jméno 'street' // Fakturační ulice a číslo popisné 'city' // Fakturační město 'zip' // Fakturační PSČ 'country' // Fakturační země (kód země, např. CZ, SK) 'registration_no' // Fakturační IČO 'vat_no' // Fakturační DIČ 'local_vat_no' // Fakturační IČ DPH (pro SR) 'email' // Fakturační email 'phone' // Fakturační telefon);Doručovací adresa (pokud existuje)
Section titled “Doručovací adresa (pokud existuje)”Pokud má objednávka vyplněnou doručovací adresu, přidávají se následující pole:
$data += array( 'has_delivery_address' // true pokud existuje doručovací adresa 'delivery_name' // Jméno/firma na doručovací adrese 'delivery_street' // Ulice doručovací adresy 'delivery_city' // Město doručovací adresy 'delivery_zip' // PSČ doručovací adresy 'delivery_country' // Země doručovací adresy (kód země));Příklady použití
Section titled “Příklady použití”Rozdělení adresy na dva řádky
Section titled “Rozdělení adresy na dva řádky”Ve výchozím stavu se obě adresy (address_1 a address_2) spojují do jednoho pole street. Tento filtr použijte pokud chcete adresu rozdělit.
/** * Edit Fakturoid subject data - split address * * @param array $data Data * @param OrderModel $order Order model with Fakturoid data * @param WC_Order $wc_order WC order * * @return array */function edit_fakturoid_subject_data( $data, $order, $wc_order ): array { $data['street'] = $wc_order->get_billing_address_1(); $data['street2'] = $wc_order->get_billing_address_2(); return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'edit_fakturoid_subject_data', 10, 3 );Přidání vlastního ID zákazníka
Section titled “Přidání vlastního ID zákazníka”Ve výchozím stavu se custom_id nenastavuje. Tento filtr použijte pro propojení kontaktů mezi WooCommerce a Fakturoidem.
/** * Add custom customer ID to subject data * * @param array $data Data * @param OrderModel $order Order model * @param WC_Order $wc_order WC order * * @return array */function add_custom_id_to_subject( $data, $order, $wc_order ): array { if ( $wc_order->get_customer_id() ) { $data['custom_id'] = $wc_order->get_customer_id(); } return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'add_custom_id_to_subject', 10, 3 );Úprava názvu kontaktu
Section titled “Úprava názvu kontaktu”Ve výchozím stavu se jako name použije název firmy (pokud je vyplněn), jinak celé jméno zákazníka.
/** * Modify subject name format * * @param array $data Data * @param OrderModel $order Order model * @param WC_Order $wc_order WC order * * @return array */function modify_subject_name( $data, $order, $wc_order ): array { // Vždy použít celé jméno, i když je vyplněna firma $data['name'] = $wc_order->get_formatted_billing_full_name(); return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'modify_subject_name', 10, 3 );Přidání dodatečných polí
Section titled “Přidání dodatečných polí”/** * Add additional fields to subject * * @param array $data Data * @param OrderModel $order Order model * @param WC_Order $wc_order WC order * * @return array */function add_subject_fields( $data, $order, $wc_order ): array { // Přidat webovou stránku z custom pole $website = $wc_order->get_meta( '_billing_website' ); if ( $website ) { $data['web'] = $website; }
// Přidat poznámku $data['note'] = 'Vytvořeno z WooCommerce objednávky #' . $wc_order->get_order_number();
return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'add_subject_fields', 10, 3 );Úprava DIČ z pluginu EU VAT
Section titled “Úprava DIČ z pluginu EU VAT”Pokud používáte plugin WooCommerce EU VAT Number nebo podobný, můžete DIČ získat a předat do Fakturoidu:
/** * Get VAT number from EU VAT plugin * * @param array $data Data * @param OrderModel $order Order model * @param WC_Order $wc_order WC order * * @return array */function add_eu_vat_to_subject( $data, $order, $wc_order ): array { // Pro plugin WooCommerce EU VAT Number if ( function_exists( 'wc_eu_vat_get_vat_from_order' ) ) { $vat_no = wc_eu_vat_get_vat_from_order( $wc_order ); if ( $vat_no ) { $data['vat_no'] = $vat_no; } }
return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'add_eu_vat_to_subject', 10, 3 );Přidání IČ DPH pro Slovensko (local_vat_no)
Section titled “Přidání IČ DPH pro Slovensko (local_vat_no)”Pro slovenské zákazníky je potřeba vyplnit pole local_vat_no (IČ DPH):
/** * Add Slovak VAT ID (IČ DPH) to subject * * @param array $data Data * @param OrderModel $order Order model * @param WC_Order $wc_order WC order * * @return array */function add_slovak_vat_id( $data, $order, $wc_order ): array { // Získat IČ DPH z custom pole objednávky $ic_dph = $wc_order->get_meta( '_billing_ic_dph' ); if ( $ic_dph && $wc_order->get_billing_country() === 'SK' ) { $data['local_vat_no'] = $ic_dph; }
return $data;}add_filter( 'wpify_woo_fakturoid_subject_data', 'add_slovak_vat_id', 10, 3 );Kde umístit kód
Section titled “Kde umístit kód”Vlastní funkci můžete vložit buď do tzv. child šablony nebo pomocí pluginu Code Snippets.