WooCommerce:从数组中的产品中获取评论并按星级对它们进行排序

WooCommerce: Get reviews from products in array and sort them by stars

我想根据产品列表显示一些评论。 产品 ID 存储在数组中。所以我尝试了以下方法:

<?php
$args = array (
    'post_type' => 'product',
    'number'  => '5',
    'post_id' => array('2360','2362'),
);
$comments = get_comments( $args );
wp_list_comments( array( 'callback' => 'woocommerce_comments' ), $comments);
?>

看来,post_id 不允许 ID 数组。 如果我只用一个 ID 尝试它,它工作正常。

编辑:我找到了一种按星级排序的方法:

'meta_key' => 'rating',
'orderby' => 'meta_value_num',
'order' => 'DESC'

要显示基于特定产品的一些评论,您需要使用 post__in 参数而不是 post_id,例如:

<?php
$comments = get_comments( array (
    'number'    => '5',
    'post__in'  => array('2360','2362'), // <= HERE your array of product Ids
    'post_type' => 'product',
    'meta_key'  => 'rating',
    'orderby'   => 'meta_value_num',
    'order'     => 'DESC'
) );

wp_list_comments( array( 'callback' => 'woocommerce_comments' ), $comments);
?>

现在应该可以了。参见 WP_Comment_Query available parameters