Použití filtrů
Jak změnit jazyk faktury
V tomto případě je důležitá informace, že WordPress neumí jazykové mutace. Je buď v jednom jazyce, nebo v druhém.
Avšak, existují pluginy, jenž umožňují mutace vytvářet. Bohužel, není možné, připravit plugin tak, aby byl kompatibilní se všemi pluginy.
Proto je v pluginu vložen filtr, jenž umožňuje změnit jazyk pro odeslanou fakturu, nebo zálohovou fakturu.
$lang = 'cs-CZ'; $data['LanguageCode'] = apply_filters( 'idoklad_language_code', $lang, $order_id, $order );
Jak můžete vidět, defaultní hodnota je cs-CZ a do filtru je doplněno id objednávky a celý objekt objednávky.
Ukázka použití:
Upozornění:
Pokud máte možnost přepínat jazyky, tak je třeba v okamžiku vytvoření objednávky, uložit aktuální jazyk do post meta objednávky.
Pak již jen pomocí filtru získáte jeho hodnotu a vrátíte jazyk, který potřebujete.
Vzorová ukázka kompletní změny jazyka na fakturách:
add_filter( 'idoklad_language_code', 'toret_net_custom_idoklad_language', 10, 3 );
function toret_net_custom_idoklad_language( $lang, $order_id, $order ){
return 'en-US';
}
add_filter( 'idoklad_request_language_code', 'toret_net_custom_idoklad_language2', 10, 1 );
add_filter( 'idoklad_language_code_faktura', 'toret_net_custom_idoklad_language2', 10, 1 );
function toret_net_custom_idoklad_language2( $lang ){
return 'en-US';
}
Ovlivnění odeslání faktury/proformy do iDokladu
Změna jazyku pdf faktury a proformy
Při vytvoření proformy, nebo faktury, odesílá plugin informaci o tom v jakém jazyce je doklad. Při requestu pro zobrazení pdf souboru se odesílá header s defaultně nastavenou češtinou. Pokud z nějakého důvodu potřebujete změnit tuto hodnotu, použijte následující filtr:
Nastavení stavu zaplacené faktury
Změna popisu faktury a proformy
V případě, že potřebujete nějakým způsobem ovlivnit popis faktury, nebo proformy, můžete použít nasledující filtry:
Změna čísla objednávky faktury
Jako číslo objednávky se do iDokladu zasílá $order_id. V případě, že to potřebujete ovlivnit, použijte tento filtr:
Přidání kurzu měny do faktury
API iDokladu obsahuje pro faktury a proformy možnost přidat kurz měny a jeho číselnou hodnotu – ExchangeRate a ExchangeRateAmount.
Protože měny a jejich přepínání nejsou ve WooCommerce ve výchozím stavu, je v plugiu způsob, jak do faktur pomocí filtrů tyto hodnoty přidat.
ExchangeRateAmount určuje, zda je kurz počítaný pro 1, 10, nebo 100 ekvivalentů měny. Například ruský rubl bude mít rate amount 100.
Přidání prodejky
$stvrzenka = apply_filters( 'idoklad_pdf_with_stvrzenka', false );