これを追跡するのにほんの数時間を費やしただけで、Googleでそこまで行くことができなかったので、同じ問題に遭遇した人のためにここに置いておきます。
WooCommerceのリセットパスワードフローが壊れています。リセット電子メールは正常に機能しますが、電子メールからリンクをクリックすると、同じフォームが再度表示され、実際にパスワードを変更できるようにリダイレクトされません。
SendGridを使用してWooCommerceからのメールを処理し、クリック追跡を有効にしている場合、$_GET
varsを使用するリンクbreak。 Sendgridは、&id=
を&id=
に変換し、WooCommerceで問題を作成するURLサニタイザーを使用します...
パスワードリセットフォームリダイレクトは、2つのget変数、$_GET['key']
および$_GET['id']
を探します。これらが存在しない場合、パスワードリセットフォームは表示されません。標準の「ユーザー名またはメールアドレスを入力してください」。形。リダイレクトループのように感じますが、それは不正なURL(PHPが$_GET['amp;id']
としてvarを取得する解析)のためです。
SendGridから問題が発生していることに気づきませんでしたが、大量のデバッグとWCのソースコードへの飛び込みの後、一見理由もなく条件チェックが失敗していることに気付きました。これは、get varが存在しなかったためです。
Easy Digital Downloadsが投稿されました SendGridクリックトラッキングをオフにする手順EDD github issue に応じてサイトで、これも解決します。
お役に立てれば!