Wordpress woocommerce-内部服务器错误

Wordpress woocommerce-内部服务器错误,wordpress,woocommerce,Wordpress,Woocommerce,我用wordpress和woocommerce(www.jescesole.eu)建立了一个网站。由于该网站在德国销售,我不得不安装另外一个插件woocommerce germanized(与polylang一起,以德语和意大利语查看内容) 最近几天我升级了wp和所有插件,但当客户提交订单时,会出现一条内部服务器错误消息。 我阅读了服务器错误日志,并报告了一条很长的错误消息: 2017年4月13日星期四21:53:37格林尼治标准时间[错误][客户87.13.188.180]-www.jesce

我用wordpress和woocommerce(www.jescesole.eu)建立了一个网站。由于该网站在德国销售,我不得不安装另外一个插件woocommerce germanized(与polylang一起,以德语和意大利语查看内容) 最近几天我升级了wp和所有插件,但当客户提交订单时,会出现一条内部服务器错误消息。 我阅读了服务器错误日志,并报告了一条很长的错误消息:


2017年4月13日星期四21:53:37格林尼治标准时间[错误][客户87.13.188.180]-www.jescesole.eu-AH01215:支付方法调用不正确。不应直接访问订单属性。回溯:require('wp-blog-header.php')、require_once('wp-includes/template loader.php')、do_action('template_redirect')、wp_Hook->do_action、wp_Hook->apply_filters、call_user_func_数组、WC_AJAX::do_-WC_-AJAX、do_-action('WC_-AJAX_-checkout')、wp_-Hook->-do_-action、wp_-up、wp_-Hook->-dou-up,WC_签出->流程_签出,WC_签出->流程_订单支付,WC_网关_COD->流程_支付,WC_订单->更新_状态,WC_订单->保存,WC_订单->状态_转换,Dou操作('woocommerce_订单状态_未决_处理'),WP_挂钩->Dou操作,WP_挂钩->应用过滤器,调用用户功能数组,WC_电子邮件::发送交易性电子邮件,do_action_ref_数组,WP_Hook->do_action,WP_Hook->apply_过滤器,调用用户函数数组,WC_GZD_Email_Customer_Paid_For_Order->触发器,WC_Email->get_content,WC_GZD_Email_Customer_Paid_For_Order->get_content->get_html,WC_get_template,包括('/plugins/woods/Email/Customer Paid For Order),do_action(“woocommerce\u email\u order\u details”)、WP_Hook->do_action、WP_Hook->apply_filters、call_user\u func\u数组、WC_email\u details、WC_get\u模板、include('/plugins/woocommerce/templates/email/email/email order details details.php')、Dou action(“woocommerce\u email\u order\u table\u-before\u-before\u-order\u-table\u表”)、WP\u_-dou,Hyyan\WPI\Gateways\GatewayBACS->电子邮件说明,WC\U摘要\U遗产\U顺序->WC\U获取,WC\U操作错误。此消息是在3.0版中添加的。:/php wrapper/php cgi,referer

会发生什么?可能是一些插件彼此不兼容或与主题不兼容?
thanx提前

WooCommerce 3.0对其代码进行了修改,以限制对财产的直接访问,您可以按如下方式更改代码

 $OrderID= ( WC()->version < '2.7.0' ) ? $order->id : $order->get_id();
    $shipping_country   = (  WC()->version < '2.7.0' ) ? $order->shipping_country : $order->get_shipping_country();
$OrderID=(WC()->version<'2.7.0')$订单->id:$order->get_id();
$shipping_country=(WC()->版本<'2.7.0')$订单->发货国:$order->获取发货国();
或者将您的插件更新到与WC3兼容的版本


$order->property:$order->获取属性()

我也遇到了同样的问题,并找到了导致错误的“Hyyan-woolang集成”插件。禁用它,内部服务器错误消失。
Woocommerce Germanized与Polylang完美配合。无需(再)使用此插头。

尝试返回此错误之前的情况。然后再做一次更新,一个接一个,每次你更新的东西,WP或插件,测试整个网站。通过这种方式,您将很快发现是哪个插件导致了问题,或者安装的插件与最新版本的Wordpress不兼容。这可能是一项乏味的工作。但是找出插件导致问题的原因是解决问题的90%。找出原因后,您可以找到解决方案。此错误是由WooCommerce mega major版本3.0.x引起的。更新您最好恢复到2.6.x版本,因为很多事情都发生了变化。这里的问题是一个支付网关(插件)调用$order对象属性。现在不能像以前那样直接调用此属性。相反,它必须使用新的setter和getter方法…因此问题肯定是支付网关插件(与WC 3.0+不兼容)或支付网关的一些自定义代码“订单属性不应直接访问”。订单、优惠券、产品和订单项目属性现在必须通过getter函数访问。因此,
$order->payment\u gateway
现在是
$order->get\u payment\u gateway()