Plugin je open source pod licenciou GPL. Jeho správanie upravíte filtrami a akciami WordPressu. Kód patrí do vlastného pluginu alebo do functions.php child témy.
Požiadavky
| Aktuálna verzia | 1.59.2 |
|---|---|
| WordPress | 4.4 a novší, testované do 7.1 |
| WooCommerce | 3.7.0 a novší, testované do 11.1.2 |
| PHP | 7.4 a novšie |
| Nové úložisko objednávok (HPOS) | podporované |
| Bloková pokladňa | podporovaná |
| Jazyk nastavení pluginu | slovenčina, čeština |
Filtre a akcie
Všetky filtre a akcie s popisom, parametrami a verziou, od ktorej existujú, sú na stránke Filtre a akcie.
Príklady
Bez dokladu pre objednávky s nulovou sumou
Filter sf_skip_invoice vynechá pre objednávku všetky doklady.
add_filter( 'sf_skip_invoice', function ( $skip, $order ) {
return $skip || 0.0 === (float) $order->get_total();
}, 10, 2 );
Iný číselník pre objednávky z Česka
Filter wc_sf_sequence_id určí číselník SuperFaktúry pre nový doklad. Číslo 12345 nahraďte ID číselníka z vášho účtu.
add_filter( 'wc_sf_sequence_id', function ( $sequence_id, $type, $order ) {
if ( 'regular' === $type && 'CZ' === $order->get_billing_country() ) {
return 12345; // ID číselníka v SuperFaktúre.
}
return $sequence_id;
}, 10, 3 );
Doklady v inej firme podľa meny objednávky
Filter sf_order_api_credentials mení prístupové údaje pre doklady objednávky. V tomto príklade idú doklady objednávok v českých korunách do inej firmy v tom istom účte SuperFaktúry.
add_filter( 'sf_order_api_credentials', function ( $credentials, $order ) {
if ( 'CZK' === $order->get_currency() ) {
$credentials['woocommerce_sf_company_id'] = 12345; // ID firmy v SuperFaktúre.
}
return $credentials;
}, 10, 2 );
Ostatné údaje dokladu sa vezmú z nastavení pluginu, aj ID číselníka, loga a bankového účtu, ktoré patria prvej firme. Číselník pre druhú firmu nastavte filtrom wc_sf_sequence_id, logo a bankový účet filtrom sf_invoice_data. Automatické párovanie úhrad pracuje len s firmou z nastavení pluginu.
EAN v popise položky
Filter sf_item_data upraví položku dokladu. V tomto príklade doplní do popisu EAN z poľa GTIN, UPC, EAN alebo ISBN. Toto pole má WooCommerce od verzie 9.2, preto kód najprv overí, či existuje.
add_filter( 'sf_item_data', function ( $item_data, $order, $product ) {
if ( $item_data && $product && method_exists( $product, 'get_global_unique_id' ) && $product->get_global_unique_id() ) {
$item_data['description'] = trim( ( $item_data['description'] ?? '' ) . "\nEAN: " . $product->get_global_unique_id() );
}
return $item_data;
}, 10, 3 );
Kód pluginu
Zdrojový kód vydaných verzií je v repozitári na WordPress.org. Zmeny jednotlivých verzií sú v zozname zmien.
Chyby a otázky
Napíšte na superfaktura@2day.sk, akú verziu pluginu, WordPressu a WooCommerce máte, čo presne sa stalo a čo je v API logu v nastaveniach pluginu. Otázky môžete klásť aj vo fóre na WordPress.org.