SyntaxError: Unexpected token < ve WooCommerce 2.4.6 - Affinite.io CZ

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.

Šablonu Twentysixteen si již můžete stáhnout na GitHub
Šablonu Twentysixteen si již můžete stáhnout na GitHub
30 Srp, 2015
První Wordpress pivo
První Wordpress pivo
25 Říj, 2015

Looking for something?