SyntaxError: Unexpected token < ve WooCommerce 2.4.6

Možná jste se s tím již setkali po aktualizaci WooCommerce na verzi 2.4. a vyšší. V pokladně se objednávka nepřesměruje na děkovnou stránku a místo toho se zobrazí chybové hlášení – SyntaxError: Unexpected token <.

A nic víc. Nikde žádná informace o souboru, v které se chyba nachází.

Díky tomu, že checkout ve WooCommerce je kontrolován pomocí AJAXu, může jít o jakoukoliv chybu, která se na stránce pokladny.

Mike Jolley uveřejnil na wordpress.org „řešení“, které je podle mne dost zvláštní https://wordpress.org/support/topic/24-common-issue-syntaxerror-unexpected-token?replies=1.

Vypnete zobrazování chyb a tváříte se, jako že se nic nestalo.

S tím jsem se ale nemohl smířit.

Ponořil jsem se do zdrojového kódu a našel jsem způsob, jak detekovat chybu, která hlášení způsobuje.

Ve složce woocommerce/assets/frontend najdete dva soubory, checkout.js a checkout.min.js.

Ty si nejprve zálohujte a otevřete soubor checkout.js.

Na řádku 359 najdete tento kód:

error:function( jqXHR, textStatus, errorThrown ) {
  wc_checkout_form.submit_error( '
' + errorThrown + '
' ); }

Ten upravte na:

error:function( jqXHR, textStatus, errorThrown ) {
  wc_checkout_form.submit_error( '
' + errorThrown + '
' ); console.log(jqXHR); }

V Chrome otevřete váš eshop, developerskou konzoli a záložku Console.
Pak vložte zboží do košíku a na stránce pokladny vytvořte objednávku.

Zápis v konzoli by měl zobrazit text, začínající – „object { readyState: 4, responseText:“.
V textu již najdete chybu, kterou je potřeba vyřešit.

Až chybu odstraníte, nezapomeňte znovu obnovit oba js soubory, protože jádro pluginu zásadně neupravujeme.

Čtěte  WooCommerce nástroje

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Related posts

Leave a Reply

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *