问题标签 [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.
ajax - Woocommerce 如何使用自定义 html 单选按钮而不是下拉菜单对可变产品的添加到购物车按钮进行 ajaxify - 无插件
我试图把这个谜题的所有部分放在一起。在过去的 3 天里,我一直在阅读有关此主题的所有问题和答案。所以我遵循的总体蓝图如下:
- 在单个产品页面上,首先检查产品类型是“简单”还是“可变”。
- 如果产品是“变量”,那么我正在使用
woocommerce_variable_add_to_cart();
函数来输出正确的 html。 - 然后尝试使用默认的 html(即“下拉菜单”)和 woocommerce 挂钩生成新的和自定义的 html(即“单选按钮”)。
- 然后尝试使用 javascript 为新的和自定义的 html(即“单选按钮”)提供功能。
- 然后使用 css 隐藏默认下拉菜单。
- 然后尝试向 wordpress 发送 ajax 请求。
- 然后尝试在后端处理该 ajax 请求并将产品添加到购物车。
这是我每个部分的代码:
- 在单品页面查看商品类型是否为“可变”:
- 如果产品类型是“变量”,则输出正确的 html:
- 使用 php 和 woocommerce 钩子生成新的和自定义的 html(单选按钮):
- 使用 javascript 为“单选按钮”提供功能:
- 使用 css 隐藏默认下拉菜单:
- 向 wordpress 发送 ajax 请求:
- 在后端处理 ajax 请求并将产品添加到购物车:
问题
在第 7 步之前一切正常,没有错误,但是当我运行整个过程时,单个产品页面会刷新,并且变量产品不会添加到购物车中。wordpress 错误说“{您的属性字段}是必填字段”!
我认为当我尝试将变体对象发送到后端时,错误可能在 ajax 调用中的某个地方。
虽然,我在后端得到的数据绝对没问题,但它并没有将它添加到购物车中。
我试图调试的东西
我尝试将 ajax 调用中的数据作为数组发送,但也没有用。我还尝试使用两者来分解变化数据=
,:
但没有一个有效!
蹄!到目前为止,这已经是漫长的一周了:\ 充满了调试、头痛和挫折。现在,当我尝试运行整个 shebang 时,我无法让它工作,而且我一直在阅读所有 Qs 和 As on SO 但找不到错误!我想我已经想了几天了,而且还有很多部分。
所以我认为我需要一些额外的眼睛来希望能检测到这个错误。
谢谢你,我很感激任何见解!
此外,向我从他们身上学到很多东西的这些人大声疾呼:
- LoicTheAztec为这个伟大的答案以及这个和这个以及更多。
- cfx这个很好的答案
- 安东尼格里斯特的这个答案
- helgatheviking为这个答案
- 和别的
编辑
代码工作正常,错误不在代码中,而是在我提供的数据中。我会把代码留在这里,以防将来有人需要它。
php - 在 WooCommerce 订单接收页面和电子邮件的新行中显示产品(变体)描述
我正在尝试显示产品描述和变体描述:
1.在订单收到页面和电子邮件
我正在使用Woocommerce:在订单页面答案代码上显示产品变体描述。
此代码适用于 v5.3,但现在产品数量在说明末尾移动 -> https://prnt.sc/12yc7l4。
这是我解决问题的尝试。
我该如何应用它以使其在产品名称和产品数量之间没有影响?
2.在购物车、迷你购物车和结帐页面中 - 我正在使用WooCommerce:还在购物车项目答案代码上显示产品变化描述
使用此行适用于 v5.3,但现在描述完全替换了产品名称,而如果将产品描述添加到产品名称中将会很有用。我该如何解决?
编辑:问题 2 已修复!
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来提取与上面相同的结果。例如:
但是以上似乎不起作用...请帮助!
wordpress - 从父产品外部更新 Woocommerce 中的产品变体库存状态
因为我只有一个产品,但有数十种变体,为了便于概览和管理,我将“ product_variation ”帖子类型帖子(产品变体)放在管理员“产品”菜单的单独子页面中:
此外,我将产品变体标签和库存状态添加到显示的列中:
然后,我在“ product_variation ”帖子类型中添加了一个自定义字段“ Stock status ”:
我遇到但无法解决的问题是,当我更改特定产品变体的库存状态(“库存”或“缺货”)时,可从“产品”菜单的已创建专用子页面访问,在发布保存时,它不会在默认的“ _stock_status ”发布元中保存/更新,尽管它在自定义的(只是“ stock_status ”)中保存没有问题。我该如何解决这个问题?
更新[2021-07-01]
上面的代码就OK了。观察到的问题是由另一个函数产生的,现在它已经解决了。但是,我将不胜感激代码改进的建议。
php - 在 Woocommerce 中选择某些产品变体时隐藏特定的运输方式
在要求避免重复问题之前,我已经完成了研究。如果有的话,我道歉!。
我找到的最接近的是@LoicTheAztec 的这段代码,我要感谢他的贡献!但我同时涉及两个属性,所以我不知道如何正确实现它。
我的案例场景
我添加了一种特定的运输方式:flat_rate:7,它只对一个特定的运输区域可见。
我的可变产品包含三个主要属性:样式 - 颜色 - 尺寸
我想在选择这些变体时隐藏这种运输方式flat_rate:7 :
款式=连帽衫
尺码= 4XL和5XL
PS:我不使用任何运输类别。
我希望我的描述清楚
任何帮助表示赞赏。谢谢!
php - 以编程方式将自定义字段及其值添加到 Woocommerce 产品变体
我正在尝试向 Woocommerce 中的所有可变产品添加自定义字段和静态值。我已经解决了其他问题,但它们与创建全新的变体有关。以编程方式创建具有新属性值的 WooCommerce 产品变体。
我需要这样做是因为我们通过数据馈送(Dropshipping 站点)导入了数千种产品。这个自定义字段用于将数据发送到 Facebook 以获取目录。我们需要挂钩一个动作,即每当添加一个新的变量产品时,它的所有变体都在 postmeta 中添加了自定义字段,其值为“parent_product”。我已经添加了这个过滤器来更改简单产品的数据。
我只需要将自定义字段添加/更新到现有变体。这是我需要在每个变体 postmeta 中添加的内容:add_post_meta($variation_id, '_wc_facebook_product_image_source', 'parent_product');
我不知道如何为这个函数的每个循环执行。
jquery - 仅选择一个变体时,Woocommerce 更改变体图像
我在 SO 和另一个网站上遇到过这段代码。它允许在仅选择一个主要属性(例如颜色)时更改产品变体图像,而不是必须选择所有变体属性(例如颜色和尺寸)才能更改图像。
这段代码是为使用插件而编写的,但是编写它的人提到更改第 6 行以便在没有插件的情况下使用。我尝试更改data-attribute_name
为 equal attribute_color
,因为它被命名。我已经使用脚本标签调用了这段代码,functions.php
但不确定我还应该做什么。
我怎样才能使这项工作?
php - Woocommerce REST API - 创建产品变化问题
我对 API REST 有这个问题。我创建了带有属性和选项的产品变体。有用!我的产品已经是 type = 变量。
但是,如果我在同一个产品 ID 上创建第二个产品变体 :( post('products/'.ID.'/variations',$data)
) 它不起作用。
我可以在产品变体列表 ( get('products/ID/variations')
) 中看到它,但在 wp 的后端我看到了 2 个变体:第一个有术语,第二个没有。
有什么帮助吗?
这是所有产品变体的 LIST 的响应(我可以看到两个变体的属性):
php - Woocommerce 变量产品附加 _product_attributes 并且不替换
我正在使用来自 json 提要的数据创建可变产品。但问题是我在开始时没有所有属性值,所以当我解析提要时,我应该添加新的 - 追加。相反,我正在替换它们,所以我只有最后一个。如何更改代码以附加产品属性?
这是我的代码: