WooCommerce - 添加到购物车没有变化ID

时间:2017-05-04 16:11:39

标签: php ajax wordpress woocommerce hook-woocommerce

我制作了一个简单的插件,用于逐步选择用户选择他想要的产品。它使用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 个答案:

答案 0 :(得分:2)

您可以从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 +