【问题标题】:Wordpress WooCommerce Checkout - SyntaxError: Unexpected token < in JSON at position 0Wordpress WooCommerce Checkout - SyntaxError: Unexpected token < in JSON at position 0
【发布时间】:2018-04-28 17:14:52
【问题描述】:

我们的一个 Wordpress 网站在 WooCommerce结帐页面 上遇到问题。单击“下订单”按钮时会触发错误:

SyntaxError: Unexpected token < in JSON at position 0

这是控制台中显示的错误:

<br />
<b>Fatal error</b>:  Call to a member function update_status() on 
boolean in <b>/home/public_html/wp-
content/plugins/woocommerce/includes/gateways/bacs/class-wc-gateway-
bacs.php</b> on line <b>346</b><br />
  • 我已禁用除 WooCommerce 之外的所有插件,但问题仍然存在;
  • 我已尝试过像 TwentyThirteen 这样的默认主题,但问题仍然存在;
  • WooCommerce 是最新的(版本 3.2.3);
  • 我们提供 COD(货到付款)和银行转账作为付款选项。

有什么想法吗?

【问题讨论】:

  • 看起来它正试图在 $order 上调用成员函数 update_status() 但无论出于何种原因,$order 是一个布尔值(我猜想,我会说 false 作为结果$order = wc_get_order( $order_id ); 失败)。我先看看为什么 wc_get_order 返回 false,而不是订单对象。
  • 关于如何进一步调试的任何想法?
  • 尝试更改您的主题,functions.php 中可能有一些功能会干扰订单创建
  • 我已经尝试过更改主题,如最初的帖子中所述。这还没有解决。

标签: wordpress woocommerce checkout


【解决方案1】:

调试代码后,我发现我的问题出在数据库的某个地方,订单的 ID 没有正确保存(传递的值始终为 0)。我的猜测是某些插件弄乱了我的数据库。

我的数据库中的自动增量已关闭,因此无法正确保存订单的ID,从而导致上述第一篇文章中提到的错误。

解决方案是修复数据库,在需要的地方添加自动增量,并删除表wp_posts。

【讨论】:

  • Gr8 解决方案兄弟
【解决方案2】:

我遇到了同样的问题,解决了文件夹权限问题。

【讨论】:

  • 哪个文件夹有问题?
猜你喜欢
  • 1970-01-01
  • 2021-09-30
  • 2017-12-15
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多