为了在 WooCommerce 中返回当前产品的可用变体数组,我会使用这样的东西:
global $product;
$variations = $product->get_available_variations();
我试图在将产品添加为可变订阅产品时实现相同的效果,并且我的印象是订阅产品是 WooCommerce 产品的扩展,不应该使用相同的方法吗?
克里斯
为了在 WooCommerce 中返回当前产品的可用变体数组,我会使用这样的东西:
global $product;
$variations = $product->get_available_variations();
我试图在将产品添加为可变订阅产品时实现相同的效果,并且我的印象是订阅产品是 WooCommerce 产品的扩展,不应该使用相同的方法吗?
克里斯
由于订阅变量产品扩展了 WooCommerceWC_Product_Variable
类,因此他们几乎可以使用WooCommerce变量产品可以使用的所有可用方法。但他们也有自己的方法,在WC_Product_Variable_Subscription
Class php 文件中描述。他们的产品类型是“变量订阅”。
对于产品订阅变体,它与扩展 WooCommerceWC_Product_Variation
类类似,因此它们可以使用WooCommerce 产品变体可以使用的几乎所有可用方法。但他们也有自己的方法,在WC_Product_Subscription_Variation
Class 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>';
}
}
测试和工作