我制作了一个简单的插件,用于逐步选择用户选择他想要的产品。它使用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论坛上询问过但无济于事。
提前致谢。
答案 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 +