Luc*_*Luc 1 php wordpress wordpress-theming woocommerce
我的 woocommerce 结帐显示,直到今天早上都运行良好。但是现在,当我尝试提交表单时,我收到以下消息:“我们无法处理您的订单,请重试”。我没有更改设置或插件中的任何内容。我最近将 woocommerce 更新到 2.3.5。但是,在那之后,一切都运行得很完美。我真的不明白这里发生了什么。我希望有人可以帮助我。
谢谢!
PS:即使我将帐单字段保持打开状态,我也会收到此错误消息...
_____ 编辑 ______
我找到了抛出错误的函数:
if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-process_checkout' ) ) {
WC()->session->set( 'refresh_totals', true );
throw new Exception( __( 'We were unable to process your order, please try again.', 'woocommerce' ) );
}
Run Code Online (Sandbox Code Playgroud)
它位于 woocommerce/includes/class-wc-checkout.php 的第 351 行。
我得到了解决方案。随着 WooCommerce 2.3.5 更新,添加了两个新文件:payment.php 和 payment-method.php。在payment.php中有这一行:
<?php wp_nonce_field( 'woocommerce-process_checkout' ); ?>
Run Code Online (Sandbox Code Playgroud)
不知何故,这条线在我的孩子主题中被删除了。