我制作了一个简单的插件,它可以让用户逐步选择他想要的产品。它使用 4 个步骤,其中 3 个是属性选择。现在我遇到的问题是直接链接需要variation_id。
生成的产品链接:

/cart/?add-to-cart=3772&attribute_pa_izmers=20&attribute_pa_forma=kaste&attribute_pa_krasas=spilgtas

为了使以下链接正常工作,我还需要传递variation_id。但是,如果不手动传递每个variation_id 组合,我就找不到获取它的方法。是否有钩子(Hook)/ Action 可用于根据我传递的属性获取变体 ID?或者将产品添加到购物车而不传递变体 ID?

我已经在woocommerce论坛上问过,但无济于事。

提前致谢。

最佳答案

您可以从 WC_Ajax::get_variation() 方法中借用一些代码,因为它会在您使用选择普通变量产品的属性时运行。

$data_store   = WC_Data_Store::load( 'product' );
$variation_id = $data_store->find_matching_product_variation( $variable_product, wp_unslash( $_POST ) );

需要 WooCommerce 3.0+

关于php - WooCommerce - 添加到购物车而没有变体 ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43787988/

10-13 05:54