要获取任何产品的所有变体 ID,请尝试以下操作 -
$args = array(
'post_type' => 'product_variation',
'post_status' => array( 'private', 'publish' ),
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'asc',
'post_parent' => get_the_ID() // get parent post-ID
);
$variations = get_posts( $args );
foreach ( $variations as $variation ) {
// get variation ID
$variation_ID = $variation->ID;
// get variations meta
$product_variation = new WC_Product_Variation( $variation_ID );
// get variation featured image
$variation_image = $product_variation->get_image();
// get variation price
$variation_price = $product_variation->get_price_html();
}
或者
$available_variations = $product->get_available_variations();
如果您想将所有变体产品添加到购物车中,单击(根据您的评论),然后您可以使用 jquery 函数,您首先获取所有变体 id(一旦页面加载),然后在您使用 ajax必须在另一个 ajax 页面上发送所有输入(变体 id),并且在响应中,您将在链接中获得所有变体 id,例如 -
abc.com/?add-to-cart=121:1,538:1
这里是变体 id 的第一个参数,第二个(在 :) 之后是数量,您可以添加多个变体 ID,用 (,) 分隔。
然后用新链接替换您的添加到购物车按钮。
我知道这不是完整的答案,但你会从中得到一些帮助。
谢谢!