提问者:小点点

WooCommerce-添加到购物车而不添加变体id


我做了一个简单的插件,让用户一步一步地选择他想要的产品。它使用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组合,我无法找到获取它的方法。是否有一个钩子/动作可以用于根据我传递的属性获取变化id?或添加产品到购物车没有通过变化ID?

我已经在woocommerce论坛上问过了,但没有用。

提前感谢。


共1个答案

匿名用户

您可以从WC\u Ajax::get\u variation()方法中借用一些代码,因为当您为普通变量产品使用select属性时,会运行该方法。

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

需要WooCommerce 3.0