WooCommerce 复合产品:如何使用 URL 参数更改组件的默认产品选项?

Posted

技术标签:

【中文标题】WooCommerce 复合产品:如何使用 URL 参数更改组件的默认产品选项?【英文标题】:WooCommerce Composite Products: How to use URL parameters to change the default product option for a component? 【发布时间】:2017-12-17 05:36:58 【问题描述】:

我在我的 WordPress/WooCommerce 网站中使用 WooCommerce 复合产品插件,并希望能够通过 URL 参数控制仅第一个组件的默认选择产品选项。

例如,假设我创建了一个复合产品,可让您构建滑板(甲板组件 + 车轮组件 + 卡车组件)。如果我创建一个链接,上面写着“使用此套牌构建您自己的滑板”,则该链接应该具有某种 URL 参数,在打开滑板复合产品时从可用套牌选项中预先选择正确的套牌(链接的 URL 可能看起来像这样: www.mydomain.com/shop/skateboard-composite-product?deck-option=red-deck ,其中 URL 的最后一个粗体部分预先选择了给定的甲板选项。 WooCommerce Composite Products 插件能够为任何组件选择默认产品选项。因此,我假设将其作为目标并将默认选项更改为您在 URL 中所说的任何内容是解决此问题的正确方法。

我在编码方面有点菜鸟,尤其是 php。有谁知道如何做到这一点?截至本发布日期,WordPress/WooCommerce/plugins 均已更新至最新版本。我正在为我的商店使用 Storefront 主题。

提前致谢!

【问题讨论】:

【参考方案1】:

我自己想通了,而且很简单。对于那些可能想知道如何做到这一点的人:

如果您创建复合产品,然后将其添加到购物车并在购物车中查看,则购物车中的复合产品将具有一个链接,该链接将带您返回复合产品页面,其中预先填充了所有你之前的选择。该链接的 URL 将包含如下参数: ?wccp_component_selection[1495658223]=8 ,其中等号后面的数字(在本例中为 8)是您想要的产品的产品 ID - 打开复合产品页面时选择。我不确定另一个大数字是什么(1495658223),但我认为它可能是组件的 id 或其他东西 - 不过这并不重要,因为在您将复合材料添加到购物车后您将能够看到它.

注意:您可以在一个 URL 中包含多个参数,以便为多个不同的组件预先选择产品。同样,只需将组合添加到购物车即可查看该 URL 的外观。

【讨论】:

我偶然发现了你的答案,它实际上对我帮助很大。您是否知道如何添加每个组件选择的数量? 供以后参考;是的,这样设置数量也可以使用:wccp_component_quantity[1495658223]=2

以上是关于WooCommerce 复合产品:如何使用 URL 参数更改组件的默认产品选项?的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce重写单个产品页面URL

如何显示 WooCommerce 产品的自定义分类?

WooCommerce REST API产品图像相对URL问题

通过 URL 将免费产品添加到 WooCommerce 自动生成的优惠券

Woocommerce 定制产品 slug

在 WooCommerce 的产品网址中仅使用 ID?