好的,发布后不久,我就想出了一个可行的解决方案。使用此代码,我直接从变体价格字段中获取价格,而不是像我在问题中提到的那样从描述字段中获取价格。
<?php
$params = array(\'posts_per_page\' => -1, \'post_type\' => \'product_variation\', \'order\' => \'ASC\');
$wc_query = new WP_Query($params);
global $product;
?>
<?php if ($wc_query->have_posts()) : ?>
<?php while ($wc_query->have_posts()) : $wc_query->the_post(); ?>
<form class="cart" action="<?php the_permalink() ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="add-to-cart" value="<?php echo esc_attr($product->id); ?>">
<button <?php post_class(\'button\') ?> type="submit"><strong><?php echo implode("", $product->get_variation_attributes()); ?> </strong><span style="display: inline-block"><?php echo $product->get_price(); ?></span></button>
</form>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<div>
<?php _e( \'No Products\' ); ?>
</div>
<?php endif; ?>