【问题标题】:Woocommerce latest reviewWoocommerce 最新评论
【发布时间】:2015-05-16 07:58:19
【问题描述】:

我正在尝试在我的测试页面上获取有关任何产品的最新评论/评论,到目前为止,我将其视为帖子,并得到了类似这样的内容:

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

<?php get_comments( $args ); ?>

非常感谢任何帮助。

【问题讨论】:

    标签: php wordpress woocommerce review


    【解决方案1】:

    试试这个:

    $number_of_reviews = 10; //How many reviews you want to retrieve
    $reviews = get_comments( array( 'number' => $number_of_reviews, 'status' => 'approve', 'post_status' => 'publish', 'post_type' => 'product' ) );
    
    echo "<ul>";
    foreach ( (array) $reviews as $review ) {
        $_product = WC_get_product( $review->comment_post_ID );
        $rating = intval( get_comment_meta( $review->comment_ID, 'rating', true ) );
    
        echo '<li style="list-style:none"><a href="' . esc_url( get_comment_link( $review->comment_ID ) ) . '">';
            echo $_product->get_title() . '</a>  ';
            for($i=0;$i<$rating;$i++){
                echo "<span style='color:grey'>&#9733</span>";
            }
            echo "<p>".$review->comment_content."    -   ".get_comment_author($review->comment_ID)."</p>";
    
        echo '</li><br><br>';
    }
    echo "</ul>";
    

    注意:您可以随时根据需要修改代码和 CSS。

    【讨论】:

    • 它切断了该行和下面的所有内容,例如未关闭的 php 标签或类似的东西,我尝试在开始和结束时添加 php 标签,在第一和第二部分仍然只是失败了页面
    • 您是如何实现我的代码的以及在哪里实现的?第 1 部分和第 2 部分是什么?
    • index.php,在一个 div 中,第 1 行和第 2 行开始 $ 1st 部分,其余的 2nd 部分
    • 相同的代码对我来说工作正常。因此,如果您希望有人帮助您,您需要在您的问题中发布相关内容,然后有人可以帮助您。
    • 您也可以尝试在我的代码中进行调试,例如输入var_dump($reviews); 以查看它检索到多少评论。这可以作为您调试的起点。
    【解决方案2】:

    这是我为获得产品的最新评论所做的:

    function display_product_review() {
        global $product;
    
        $comments = get_approved_comments( $product->id );
    
        $product_link = '/product/' . $product->post->post_name . "/#tab-reviews/";
    
        if ( !empty ($comments) ) {
            echo $comments[0]->comment_content . '<br><a href="'. $product_link . '">Read more reviews...</a>';
        } else {
            echo "There are no reviews for this product yet. Would you like to <a href='" . $product_link ."'>add your own review</a>?";       
        }
    }
    

    唯一的缺点是 get_approved_cmets 只有一个参数,即 post_id,因此它确实会拉取对产品所做的所有评论。它可能不是最干净的解决方案,但它确实对我有用。

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 2020-07-12
      • 2017-11-05
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多