我想知道是否可以获取产品的所有变体-包括可用变体和不可用变体。例如,如果变体没有价格设置,则会标记为不可用。当我调用$product->get_available_variations()时,它只返回可用的变量。有什么方法也能得到不可用的变量吗?
$product->get_available_variations()
5lwkijsr1#
要获取产品的所有变体,您可以使用wc_get_product()函数进行API调用以获取产品对象,然后使用get_available_variations()方法获取可用变体,或使用get_children()方法获取所有变体,包括可用和不可用变体。下面是一个如何实现此操作的示例:
wc_get_product()
get_available_variations()
get_children()
<?php require_once( 'path/to/woocommerce/woocommerce.php' ); $product_id = 1234; // ID of the product $product = wc_get_product( $product_id ); $variations = $product->get_children(); foreach ( $variations as $variation_id ) { $variation = wc_get_product( $variation_id ); if ( $variation->is_in_stock() && $variation->is_purchasable() ) { // Available variation } else { // Unavailable variation } }
这将检索具有指定ID的产品的所有变体,并遍历每个变体,检查它是否有库存和可购买,并相应地标记为可用或不可用。
l3zydbqr2#
我设法通过调用$product->get_children()获得了所有变体ID
$product->get_children()
2条答案
按热度按时间5lwkijsr1#
要获取产品的所有变体,您可以使用
wc_get_product()
函数进行API调用以获取产品对象,然后使用get_available_variations()
方法获取可用变体,或使用get_children()
方法获取所有变体,包括可用和不可用变体。下面是一个如何实现此操作的示例:
这将检索具有指定ID的产品的所有变体,并遍历每个变体,检查它是否有库存和可购买,并相应地标记为可用或不可用。
l3zydbqr2#
已解决:
我设法通过调用
$product->get_children()
获得了所有变体ID