【发布时间】:2017-04-06 16:42:31
【问题描述】:
我有一个愿望清单页面,其中显示了所有已保存的产品。产品保存在 cookie 中,在查看单个产品时可以通过单击按钮来完成。
在该单个产品上,有一个具有两种状态的图标,选中或未选中。目的是“保存以备后用”。如果特定产品已经在 cookie 列表中,那么我添加“选择”类,因此图标会正确更改,以便让用户知道他已经“保存以备后用”这个产品。
包含 3 个产品的 cookie 示例:185-589-382
这意味着我们有三个 ID 分别为 185、589、382 的产品。
每种产品的每种语言都有不同的 ID。这意味着“EN”(英语)中的产品的 ID 为 100,但在其他语言中,ID 可能是 252。
例子:
假设我只有一种产品,其 ID 为“EN”中的 100。该产品在另一种语言中的 ID 为 200。
当访问 mysite.com/wishlist 时,它会以“EN”(默认语言)显示产品
访问 mysite.com/el/wishlist 时,它会在“GR”中显示产品。
即使他们有不同的 ID,它也能正常工作。 (可能是因为它们之间通过我正在使用的插件建立了联系)
我的问题
在“EN”中查看id为100的单个产品时,假设id已经在cookie列表中-图标处于选中状态。当我按下语言切换器时,它会切换到显示产品的另一种语言,但图标未处于选定状态。我知道会发生这种情况,因为在 cookie 列表中我保存了 id 为 100(仅在“EN”中)而不是 200 的产品,后者是其他语言的 ID。
有什么解决办法吗?
使用 WPML 插件。
- 没有发布任何代码,因为我对编码没有问题,但如果这对您有帮助,请随时提问。
- 目前正在寻找一种方法来查找这些帖子是如何连接的,所以也许我会更改我保存到我的 cookie 列表中的内容。一种方法是保存每种语言的所有 id,但我想保持干净 - 找到最好的方法。
【问题讨论】:
-
我想我会遍历愿望清单 ID 数组并检查该 ID 的 WPML 语言,如果它与当前选择的语言不同,我会查找所选语言的相应页面,如果那是当前然后页面显示为愿望清单。当您将 ID 作为愿望清单项目移除时,请记住从所有语言中移除 ID,并且可能会进行检查,以免将两种不同语言的同一页面添加到您的愿望清单中。
-
我目前正在为所有语言使用一个列表。稍微更改了检查以使其正常工作-检查答案。谢谢!
标签: javascript php wordpress cookies wpml