woocommerce 密码重置将清空购物车

woocommerce password reset will empty cart

如果我重置密码然后再次登录商店,它会清空我的购物车,这是否正常?
这些是我采取的步骤:

只是想知道为什么输入密码后会清空购物车。

Just wondering why the password rest will empty the cart.

这是正常行为。正如 Ozgur 所说,重置密码后用户会话被“清除”。

Why does it work this way? I suppose it is a security issue.

这确实是一种基于安全的行为。如果你想learn/understand更多地了解正在发生的事情,你可以看看什么是随机数。

来源@https://codex.wordpress.org/WordPress_Nonces.

要绕过该行为并保持安全:

  • 您可以将用户购物车信息保存为 cookie/LocalStorage(基于 JS 的解决方案)(更多 @ https://www.w3schools.com/jsref/prop_win_localstorage.asp)并保存产品 ID在用户购物车中...
  • 您还可以将其保存为用户元数据(基于PHP 的解决方案)并在特定情况下将其返回给用户。
  • 例如,当用户重新登录时,您可以向他显示一个弹出窗口 window 和一个按钮,用于再次将所有商品添加到他的购物车,或者直接通过添加将他直接重定向到他的购物车所有项目。您可以查看下面的 link 以通过 url.
  • 添加产品

来源@https://gist.github.com/lukecav/ab9dbdee88de686ce6b59c264cde8970