首页 文章

WooCommerce查看所有具有变化的产品

提问于
浏览
0

我有一个WooCommerce商店,持有可变产品 .

我想创建某种导出(在页面上),向我显示所有产品,包括表格中的变体 .

我正在查看所有产品并创建了一个循环来获取变化,但它只显示了一个产品变体 .

<?php
/*
Template Name: Store Management
*/
if (!is_user_logged_in() || !current_user_can('manage_options')) wp_die('This page is private.');
// Get
$args = array(
    'post_type' => 'product',
    'numberposts' => -1,
);
$products = get_posts( $args );
echo '<pre>';
print_r($products);
echo '</pre>';

foreach($products as $product):

    $args = array(
        'post_parent' => $plan->ID,
        'post_type'   => 'product_variation',
        'numberposts' => -1,
    ); 

    $product = wc_get_product( $product->ID );

    $variations = $product->get_available_variations();
    echo '<pre>';
    print_r($variations);
    echo '</pre>';

endforeach;

?>

谁能告诉我如何获得所有产品的所有变化?

M.

1 回答

  • 1

    首先,不要覆盖循环内的产品变量 . 其次,你必须检查天气产品是简单的还是可变的 . 因为简单的产品不会有变种 . 所以你的代码将是这样的:

    foreach($products as $product):
    $product_s = wc_get_product( $product->ID );
    if ($product_s->product_type == 'variable') {
        $args = array(
            'post_parent' => $plan->ID,
            'post_type'   => 'product_variation',
            'numberposts' => -1,
        );
        $variations = $product_s->get_available_variations();
        echo '<pre>';
        print_r($variations);
        echo '</pre>';
    }
    endforeach;
    

相关问题