私はこの非常に奇妙なエラーが発生するのは、ユーザーが注文しようとしたときだけです。ゲストは私達のサイトに来て、カートにものを追加します。その後、彼らはチェックアウトに行きます。チェックアウト時にクリックしてpaypalに進むと、次のエラーが表示されます。"注文を処理できませんでした。もう一度お試しください。"。しかし、ページを再ロードすると、再チェックアウトしようとするとエラーが消えてしまいます。私はすべてをチェックしたので、プラグインやテーマが矛盾していません。チェックアウト時のエラー - Wordpress
私はいくつかのデバッグを行いましたが、エラーがスローされる理由は関数のためです:wp_verify_nonce()
私はいくつかのデバッグを行い、ユーザーが上記の機能を呼び出すことをチェックアウトしようとしました。 nonceは現在ハッシュされているものと比較して異なるため、falseを返します。しかし、2番目のチェックアウトでは、上記の関数はノンスが正しいので真を返します。これは何らかの理由で私のノンスが初めて間違っていることを意味します。なぜ誰が知っていますか?
私は次の関数でこの問題を取得しています。次のコマンドを実行すると process_checkout()
:
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'));
}
は、私は私の問題を説明するために全力を試みたが、私のnonceがチェックアウト時に間違っている理由は誰もが知っています初めて?
私のテーマかもしれません。私はおそらく何か探しているはずですか? woocomerceに関連する唯一の他のプラグインは、woocheckoutです。 – Danny
一時的にプラグインを無効にして、問題が解決しないかどうかを確認したいと思います。また、問題の原因を特定するために、別のテーマを一時的に使用しようとしています。 –
また、 'wp_nonce'が多くの目的で使用されているので、問題を引き起こしているWooCommerceを処理するプラグインはありません。 –