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。
我想根据产品列表显示一些评论。 产品 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。