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