为了返回WooCommerce中当前产品的可用变体数组,我将使用类似这样的东西:
global $product;
$variations = $product->get_available_variations();
当将产品添加为变量 subscription 产品时,我试图实现相同的效果,并且由于订购产品是WooCommerce产品的扩展,因此我的印象是不应该使用相同的方法?
克里斯
答案 0 :(得分:1)
由于订阅变量产品扩展了WooCommerce WC_Product_Variable
类,因此他们可以主要使用WooCommerce Variable产品可以使用的所有可用方法。但是它们还有WC_Product_Variable_Subscription
类php文件中描述的自己的方法。他们的产品类型为“ 变量订阅”。
对于产品订阅变体,它们与扩展WooCommerce WC_Product_Variation
类相似,因此他们可以主要使用WooCommerce产品变体可以使用的所有可用方法。但是它们还有WC_Product_Subscription_Variation
类php文件中描述的自己的方法。他们的产品类型为“ subscription_variation ”。
因此您的代码将是:
global $product;
// Only for Variable subscription product
if ( $product->is_type('variable-subscription') ) {
$available_variations = $product->get_available_variations();
// Loop through available subscription variation products data
foreach ( $available_variations as $variation_data ) {
// Output formatted raw data (array)
echo '<pre>'; print_r( $variation_data ); echo '</pre>';
}
}
经测试可正常工作