if( function_exists('get_product') ) {
$product = get_product( $idProduct );
if ( $product->is_type( 'variable' ) ) {
$product = new WC_Product_Variable( $idProduct );
$available_variations = $product->get_available_variations(); //get all child variations
$variation_variations = $product- >get_variation_attributes(); // get all attributes by variations
// taxonomy => terms
// pa_attribute-color => array('blue', 'red', green)
// Use ex: get_taxonomy('pa_attribute-color')->labels; to get the Name and not the slug to attributes, it can be the taxonomy
// Use ex: get_term_by('name', 'pa_attribute-color', 'pa_attribute-color); to get the Name/label
$result = array( $available_variations , $attributes); // only to see the result you can use var_dump, error_log, etc.
//...
//...
}elseif ( $product->is_type( 'bundle' ) && class_exists( 'WC_Product_Bundle' ) ) {
$product = new WC_Product_Bundle( $idProduct );
}else{
$product = new WC_Product( $idProduct );
}
}
1 回答
这是一个简短的代码来解决你的问题,我让你整个代码,你只能使用你需要的 .
第一个是检查是否存在
get_product
函数,并检查产品类型,以创建具有id的正确产品对象(在我的情况下为$idProduct
) .它适用于woocommerce 3.x,我不会在woocommerce <3.x上测试它 .
你也尝试:
其中
$key
可以是pa_color,pa_size等我希望能帮助你 .