如何解决Woocommerce订阅:如果产品是订阅产品,则获取产品变体
为了返回WooCommerce中当前产品的可用变体数组,我将使用类似这样的东西:
global $product;
$variations = $product->get_available_variations();
当将产品添加为变量 subscription 产品时,我试图实现相同的效果,并且由于订购产品是WooCommerce产品的扩展,因此我的印象是不应该使用相同的方法?
克里斯
解决方法
由于订阅变量产品扩展了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>';
}
}
经测试可正常工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。