WooCommerce 查看所有有变化的产品

Int*_*ive 2 php wordpress woocommerce

我有一个 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;

?>
Run Code Online (Sandbox Code Playgroud)

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

M。

Kol*_*oli 5

这是我的代码,用于获取 WooCommerce v3+ 中的所有产品和变体:

<?php
$args = [
    'status'    => 'publish',
    'orderby' => 'name',
    'order'   => 'ASC',
    'limit' => -1,
];
$all_products = wc_get_products($args);
foreach ($all_products as $key => $product) {
    echo $product->get_title();
    if ($product->get_type() == "variable") {
        foreach ($product->get_variation_attributes() as $variations) {
            foreach ($variations as $variation) {
                echo $product->get_title() . " - " . $variation;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)