我需要显示一个特定类别的所有产品的审查计数.下面的代码计算所有产品的所有 comments (作为 comments ),但是似乎没有设置get_comments()来允许分类查询……

function rnr_colors_review_count() {
    $args = array(
        'post_type' => 'product', //Post type 
        'status' => 'approve',  
        'count' => 'true'
         //I would like to insert a taxonomy arg here, but may need another solution.

    );
    $comments_count = get_comments($args);
 
    echo 'Total Comments= ' . $comments_count;
}

推荐答案

您需要使用定制的轻量级SQL查询.我已经将该SQL查询嵌入到下面的函数中,并带有一个参数:产品类别term slug.

功能:

function get_products_reviews_count_from_category( $term_slug ){
    global $wpdb;

    return  $wpdb->get_var( $wpdb->prepare( "
        SELECT COUNT(c.comment_post_ID)
        FROM {$wpdb->prefix}comments as c
        LEFT JOIN {$wpdb->prefix}posts as p ON c.comment_post_ID = p.ID
        LEFT JOIN {$wpdb->prefix}term_relationships as tr ON p.ID = tr.object_id
        LEFT JOIN {$wpdb->prefix}term_taxonomy as tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
        JOIN {$wpdb->prefix}terms as t ON tt.term_id = t.term_id
        WHERE c.comment_type = 'review' AND c.comment_approved = '1'
        AND p.post_type = 'product' AND p.post_status = 'publish' 
        AND tt.taxonomy = 'product_cat' AND t.slug = '%s'
    ", $term_slug ) );
}

代码位于您的子主题的unctions.php文件中(或在插件中).经过测试和工作.

Usage example显示"附件"产品类别术语Slug的 comments 计数:

printf( 
    '<p class="reviews-count">'.__('Reviews count for %s category: %d', 'woocommerce').'<p>',
    __('Accessories', 'woocommerce'), 
    get_products_reviews_count_from_category( 'accessories' )
);

Php相关问答推荐

Mysqli_stmt::Execute():结果字段元数据中存在过早的EOF

与会者在WooCommerce中按购物车项目数量自定义 checkout 字段

如何将WooCommerce产品属性术语名称显示为链接术语?

PHP Laravel Web应用启动时间&>15秒

根据WooCommerce购物车页面中的自定义 Select 添加费用

PHP:使用FORT从数据库获取USERS表到AUTH表

fpm-php + nginx + POST数据

SFTP在PHP(phpseclib3\Net\SFTP)-过滤目录列表结果服务器端可能吗?类似于psftp中的LS命令?

在WooCommerce管理中为订单项目添加自定义字段价格值

防止在WordPress短代码中显示重复产品并请求代码更正

从 WooCommerce 购物车中删除总计部分,同时保留小计行

如何使用 PHP 创建简化的 twig 替换?

使用自定义规则进行 Livewire 验证不会显示错误

根据所选付款方式更改 WooCommerce 提交结帐按钮文本

在PHP WordPress插件中使用变量连接路径时的问题解决方法

symfony/notifier + twig/inky-extra 在 dunglas/symfony-docker 中缺少 ext-xsl.

将样式文件或脚本引入WordPress模板

如何从 PHP 中的字符串位置排除图像扩展名

如何为多个表的id列设置不同的值

基于其他数组创建多维数组 struct