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.

About The Author

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

Související články

Přidejte komentář

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