Review count per product

时间:2020-09-03 作者:Bas

我想了解某个woocommerce产品的评论数量。我有这段代码,但它给了我总的评论量(所以只有特定产品的评论量)。

function get_total_reviews_count(){
    return get_comments(array(
        \'post_ID\' =>\'12345\',
    \'status\'   => \'approve\',
        \'post_status\' => \'publish\',
        \'count\' => true
    ));
}
add_shortcode(\'reviews_count\', \'get_total_reviews_count\');
希望你们能帮我调整代码,这样我就只能看到12345产品的评论量了。

1 个回复
SO网友:Jacob Peattie

WooCommerce提供a function 为了这个。您不需要查询并统计评论:

add_shortcode(
    \'reviews_count\',
    function() {
        // Make sure we\'re on a Product.
        if ( function_exists( \'is_product\' ) && is_product() ) {
            // Get a WC_Product object for the current product.
            $product = wc_get_product( get_queried_object_id() );
            // Return the review count.
            return $product->get_review_count();
        }
    }
);
如果要显示特定产品的评论计数,可以使用:

add_shortcode(
    \'reviews_count\',
    function() {
        if ( function_exists( \'wc_get_product\' ) ) {
            // Get a WC_Product object for the product.
            $product = wc_get_product( 12345 );
            // Return the review count.
            return $product->get_review_count();
        }
    }
);
如果希望能够将产品ID传递给快捷码(如下所示:[reviews_count id="12345"]), 您可以使用:

add_shortcode(
    \'reviews_count\',
    function( $atts ) {
        // Make sure an ID was passed,
        if ( ! empty( $atts[\'id\'] && function_exists( \'wc_get_product\' ) ) {
            // Get a WC_Product object for the product.
            $product = wc_get_product( (int) $atts[\'id\'] );
            // Return the review count.
            return $product->get_review_count();
        }
    }
);

相关推荐

使用htaccess通过wp-Comments-post.php阻止垃圾邮件

我的WordPress网站上有很多垃圾评论。正在使用wp-comments-post.php 文件我可以从日志中看到:\"POST /wp/wp-comments-post.php HTTP/1.0\" 302 3744 \"https://example.com/wp/link/\" \"Mozilla/5.0 (Windows NT 6.1; WOW64) 我已经在我的.htaccess 文件:RewriteEngine On RewriteCond %{REQUEST_METHOD