问题标签 [product-variations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
595 浏览

ajax - Woocommerce 如何使用自定义 html 单选按钮而不是下拉菜单对可变产品的添加到购物车按钮进行 ajaxify - 无插件

我试图把这个谜题的所有部分放在一起。在过去的 3 天里,我一直在阅读有关此主题的所有问题和答案。所以我遵循的总体蓝图如下:

  1. 在单个产品页面上,首先检查产品类型是“简单”还是“可变”。
  2. 如果产品是“变量”,那么我正在使用woocommerce_variable_add_to_cart();函数来输出正确的 html。
  3. 然后尝试使用默认的 html(即“下拉菜单”)和 woocommerce 挂钩生成新的和自定义的 html(即“单选按钮”)。
  4. 然后尝试使用 javascript 为新的和自定义的 html(即“单选按钮”)提供功能。
  5. 然后使用 css 隐藏默认下拉菜单。
  6. 然后尝试向 wordpress 发送 ajax 请求。
  7. 然后尝试在后端处理该 ajax 请求并将产品添加到购物车。

这是我每个部分的代码:

  1. 在单品页面查看商品类型是否为“可变”:
  1. 如果产品类型是“变量”,则输出正确的 html:
  1. 使用 php 和 woocommerce 钩子生成新的和自定义的 html(单选按钮):
  1. 使用 javascript 为“单选按钮”提供功能:
  1. 使用 css 隐藏默认下拉菜单:
  1. 向 wordpress 发送 ajax 请求:
  1. 在后端处理 ajax 请求并将产品添加到购物车:

问题

在第 7 步之前一切正常,没有错误,但是当我运行整个过程时,单个产品页面会刷新,并且变量产品不会添加到购物车中。wordpress 错误说“{您的属性字段}是必填字段”!

我认为当我尝试将变体对象发送到后端时,错误可能在 ajax 调用中的某个地方。

虽然,我在后端得到的数据绝对没问题,但它并没有将它添加到购物车中。


我试图调试的东西

我尝试将 ajax 调用中的数据作为数组发送,但也没有用。我还尝试使用两者来分解变化数据=:但没有一个有效!

蹄!到目前为止,这已经是漫长的一周了:\ 充满了调试、头痛和挫折。现在,当我尝试运行整个 shebang 时,我无法让它工作,而且我一直在阅读所有 Qs 和 As on SO 但找不到错误!我想我已经想了几天了,而且还有很多部分。

所以我认为我需要一些额外的眼睛来希望能检测到这个错误。

谢谢你,我很感激任何见解!


此外,向我从他们身上学到很多东西的这些人大声疾呼:


编辑

代码工作正常,错误不在代码中,而是在我提供的数据中。我会把代码留在这里,以防将来有人需要它。

0 投票
1 回答
219 浏览

php - 在 WooCommerce 订单接收页面和电子邮件的新行中显示产品(变体)描述

我正在尝试显示产品描述和变体描述:

1.在订单收到页面和电子邮件

我正在使用Woocommerce:在订单页面答案代码上显示产品变体描述。

此代码适用于 v5.3,但现在产品数量在说明末尾移动 -> https://prnt.sc/12yc7l4

这是我解决问题的尝试。

我该如何应用它以使其在产品名称和产品数量之间没有影响?


2.在购物车、迷你购物车和结帐页面中 - 我正在使用WooCommerce:还在购物车项目答案代码上显示产品变化描述

使用此行适用于 v5.3,但现在描述完全替换了产品名称,而如果将产品描述添加到产品名称中将会很有用。我该如何解决?

编辑:问题 2 已修复!

0 投票
0 回答
24 浏览

woocommerce - Woocommerce 重置变体

我对提供飞行券的 Woocommerce 网站有疑问。每个产品有2个品种可供选择

  1. 机场(每个机场提供不同的飞行时间可供选择)
  2. 飞行时间

目前,当用户选择机场和持续时间时。如果他们不提供相同的时间,他就无法返回并从所有机场中进行选择。

我需要确保客户始终能够从所有机场中进行选择,并且如果他更改它,则持续时间将重置。

客户看到的图片:

在此处输入图像描述

谢谢

0 投票
0 回答
29 浏览

wordpress - 使用 WooCommerce 中的属性将正确的产品添加到购物车

我在 WooCommerce 中有一个带有 2 个属性的产品。我在 WooCommerce 中创建了一个可变产品,并根据上述属性的组合创建了变体。

我已经构建了一个外部表单,用户可以在其中选择产品,然后选择每个属性。我正在尝试使用 URL 将正确的产品变体添加到购物车。我设法做到这一点的唯一方法是使用以下代码:

https://www.mywebsite.com/checkout/?add-to-cart=119&quantity=1&variation_id=194

上面的变体由attribute1 = A和attribute2 = B组成。我希望能够通过特定的属性而不是variation_id来提取与上面相同的结果。例如:

https://www.mywebsite.com/checkout/?add-to-cart=119&quantity=1&attribute_pa_attribute1=A&attribute_pa_attribute2=B

但是以上似乎不起作用...请帮助!

0 投票
0 回答
336 浏览

wordpress - 从父产品外部更新 Woocommerce 中的产品变体库存状态

因为我只有一个产品,但有数十种变体,为了便于概览和管理,我将“ product_variation ”帖子类型帖子(产品变体)放在管理员“产品”菜单的单独子页面中:

此外,我将产品变体标签和库存状态添加到显示的列中:

然后,我在“ product_variation ”帖子类型中添加了一个自定义字段“ Stock status ”:

我遇到但无法解决的问题是,当我更改特定产品变体的库存状态(“库存”或“缺货”)时,可从“产品”菜单的已创建专用子页面访问,在发布保存时,它不会在默认的“ _stock_status ”发布元中保存/更新,尽管它在自定义的(只是“ stock_status ”)中保存没有问题。我该如何解决这个问题?

更新[2021-07-01]

上面的代码就OK了。观察到的问题是由另一个函数产生的,现在它已经解决了。但是,我将不胜感激代码改进的建议。

0 投票
0 回答
73 浏览

php - 在 Woocommerce 中选择某些产品变体时隐藏特定的运输方式

在要求避免重复问题之前,我已经完成了研究。如果有的话,我道歉!。
我找到的最接近的是@LoicTheAztec 的这段代码,我要感谢他的贡献!但我同时涉及两个属性,所以我不知道如何正确实现它。

我的案例场景

我添加了一种特定的运输方式:flat_rate:7,它只对一个特定的运输区域可见。

我的可变产品包含三个主要属性:样式 - 颜色 - 尺寸

我想在选择这些变体时隐藏这种运输方式flat_rate:7 :

款式=连帽衫
尺码= 4XL5XL

PS:我不使用任何运输类别。
我希望我的描述清楚

任何帮助表示赞赏。谢谢!

0 投票
0 回答
65 浏览

php - 以编程方式将自定义字段及其值添加到 Woocommerce 产品变体

我正在尝试向 Woocommerce 中的所有可变产品添加自定义字段和静态值。我已经解决了其他问题,但它们与创建全新的变体有关。以编程方式创建具有新属性值的 WooCommerce 产品变体

我需要这样做是因为我们通过数据馈送(Dropshipping 站点)导入了数千种产品。这个自定义字段用于将数据发送到 Facebook 以获取目录。我们需要挂钩一个动作,即每当添加一个新的变量产品时,它的所有变体都在 postmeta 中添加了自定义字段,其值为“parent_product”。我已经添加了这个过滤器来更改简单产品的数据。

我只需要将自定义字段添加/更新到现有变体。这是我需要在每个变体 postmeta 中添加的内容:add_post_meta($variation_id, '_wc_facebook_product_image_source', 'parent_product'); 我不知道如何为这个函数的每个循环执行。

0 投票
0 回答
469 浏览

jquery - 仅选择一个变体时,Woocommerce 更改变体图像

我在 SO 和另一个网站上遇到过这段代码。它允许在仅选择一个主要属性(例如颜色)时更改产品变体图像,而不是必须选择所有变体属性(例如颜色和尺寸)才能更改图像。

这段代码是为使用插件而编写的,但是编写它的人提到更改第 6 行以便在没有插件的情况下使用。我尝试更改data-attribute_name为 equal attribute_color,因为它被命名。我已经使用脚本标签调用了这段代码,functions.php但不确定我还应该做什么。

我怎样才能使这项工作?

0 投票
0 回答
180 浏览

php - Woocommerce REST API - 创建产品变化问题

我对 API REST 有这个问题。我创建了带有属性和选项的产品变体。有用!我的产品已经是 type = 变量。

但是,如果我在同一个产品 ID 上创建第二个产品变体 :( post('products/'.ID.'/variations',$data)) 它不起作用。

我可以在产品变体列表 ( get('products/ID/variations')) 中看到它,但在 wp 的后端我看到了 2 个变体:第一个有术语,第二个没有。

有什么帮助吗?

这是所有产品变体的 LIST 的响应(我可以看到两个变体的属性):

0 投票
0 回答
30 浏览

php - Woocommerce 变量产品附加 _product_attributes 并且不替换

我正在使用来自 json 提要的数据创建可变产品。但问题是我在开始时没有所有属性值,所以当我解析提要时,我应该添加新的 - 追加。相反,我正在替换它们,所以我只有最后一个。如何更改代码以附加产品属性?

这是我的代码:


12345678910