Php woocommerce-签出失败/不';行不通

Php woocommerce-签出失败/不';行不通,php,wordpress,woocommerce,wordpress-theming,Php,Wordpress,Woocommerce,Wordpress Theming,我的woocommerce结帐正在显示,直到今天早上,我的结帐工作正常。但现在当我尝试提交表单时,我收到一条消息:“我们无法处理您的订单,请重试”。我没有改变任何设置或插件。我最近将woocommerce更新为2.3.5。但从那以后,一切都很顺利。我真的不明白这里发生了什么。我希望有人能帮助我 谢谢 PS:我收到了所有的错误信息,即使我打开了一个账单字段 _____编辑______ 我找到了抛出错误的函数: if ( empty( $_POST['_wpnonce'] ) || ! wp_ver

我的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' ) );
}

该文件位于woocommerce/includes/class-wc-checkout.php的第351行。

有人提到,在woocommerce中使用GoogleRECAPTCHA插件时出现了此问题。他们禁用了它,问题就消失了。:)

有人提到他们在Woocommerce中使用GoogleRECAPTCHA插件时遇到了这个问题。他们禁用了它,问题就消失了。:)

我找到了解决办法。随着WooCommerce 2.3.5的更新,添加了两个新文件:payment.php和payment-method.php。在payment.php中有这样一行:

<?php wp_nonce_field( 'woocommerce-process_checkout' ); ?>


不知何故,这一行在我的孩子主题中被删除了。

我得到了解决方案。随着WooCommerce 2.3.5的更新,添加了两个新文件:payment.php和payment-method.php。在payment.php中有这样一行:

<?php wp_nonce_field( 'woocommerce-process_checkout' ); ?>


不知何故,这一行在“我的孩子”主题中被删除。

作为替代修复,如果您在登台时使用自签名SSL证书(或者如果您的SSL已过期),并且您选择在“签出”视图中强制使用https,这将导致PayPal失败,并显示这条毫无帮助的消息


您会知道您遇到了这个问题,因为WordPress会不断将您从管理员中注销,并在发生安全/不安全切换时强制您重新验证。

如果您在登台时使用自签名SSL证书(或者如果您的SSL已过期),则作为替代修复方法如果您选择在checkout视图中强制使用https,则会导致PayPal失败,并显示这条毫无帮助的消息


你会知道你有这个问题,因为WordPress会不断地将你从管理员中注销,并在任何时候发生安全/不安全转移时强制你重新验证。

@SPS如果你真的在woocommerce 2.3.5上,应该有payment.php文件 wp内容/插件/woocommerce/模板/签出/

同时,在我自己的案件中,这并不是真正的罪魁祸首;(因为已经有了

<?php wp_nonce_field( 'woocommerce-process_checkout' );  ?>
而不是

array
(
'result'    => 'success',
'redirect'  => add_query_arg('order',$order->id, add_query_arg('key', $order->order_key, get_permalink(woocommerce_get_page_id('pay' ))))
);

请检查您的代码以进行更改,问题将消失。:

@SPS如果您真的使用woocommerce 2.3.5,那么应该有payment.php文件 wp内容/插件/woocommerce/模板/签出/

同时,在我自己的案件中,这并不是真正的罪魁祸首;(因为已经有了

<?php wp_nonce_field( 'woocommerce-process_checkout' );  ?>
而不是

array
(
'result'    => 'success',
'redirect'  => add_query_arg('order',$order->id, add_query_arg('key', $order->order_key, get_permalink(woocommerce_get_page_id('pay' ))))
);

检查您的代码以更改此设置,问题将消失。:)

嘿!我遇到了同样的问题,但我的子主题中没有payment.php。你能解释一下你是怎么解决这个问题的吗?嘿!我遇到了同样的问题,但我的子主题中没有payment.php。你能解释一下你是如何解决这个问题的吗?实际上我有这个问题。。。。我经常注销,而且结账不起作用。我刚刚添加了一个由主机服务安装的SSL。无论如何,即使我没有检查“强制SSL”标志,我也有同样的问题。实际上,我有这个问题。。。。我经常注销,而且结账不起作用。我刚刚添加了一个由主机服务安装的SSL。无论如何,即使我没有检查“force SSL”标志,我也有同样的问题