Použití filtrů

Jak změnit jazyk faktury
Faktury jsou vystavovány v českém jazyce, vzhledem k tomu, že plugin je primárně určen pro Českou Republiku. Přestože je jej možné používat i na Slovensku, tak se objevil požadavek, aby bylo možné vystavit faktury i v jiném jazyce.

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
V případě, že potřebujete nějakým způsobem ovlivnit odesílání faktur a proforem do iDokladu,  můžete použít dva filtry, jenž jsou k dispozici:

Změna jazyku pdf faktury a proformy
Na rozdíl od filtru, který určuje, v jakém jazyce je doklad vystavován, tak tento filtr umožňuje změnit výchozí jazyk v kterém je získáván pdf soubor.

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
Pokud používáte pro kontrolu zaplacenosti faktur soubor control.php, můžete potřebovat změnit stav, na který se objednávky při spárování změní. Ve výchozím stavu to je completed. Pro změnu použijte následující filtr:

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
Filtr do idokladu pro aktivaci prodejky

$stvrzenka = apply_filters( 'idoklad_pdf_with_stvrzenka', false );