显示当前用户的产品评论列表 - Woocommerce

时间:2015-01-25 20:02:31

标签: php wordpress woocommerce

我在woocommerce中已经发现,产品评论存储在评论中。因此,考虑到这一点,我已将以下内容添加到我在woocommerce中的帐户自定义模板中。

<?php

$recent_comments = get_comments( array(
 'number'    => 2,
 'status'    => 'approve'
 ) );
 echo '<ul>';
 foreach($recent_comments as $c){
$the_comment = mb_strimwidth($c->comment_content, 0, 80, "...", "UTF-8");
echo '<li>';
    echo '<p>'.$the_comment.'</p>';
    echo '<span class="comment-source">'.$c->comment_author.'</span>';
    echo '<span class="time-ago">'.$c->comment_date_gmt.'</span>';
    $permalink = get_permalink( $c->comment_post_ID );
    echo '<a href="'.$permalink.'" class="post-link">'.$permalink.'</a>';
   echo '<l/i>';
  }
  echo '</ul>';
 ?>

 </div>

返回评论内容,来源,作者,帖子ID和永久链接。我检查了数据库,所有这些值都匹配。

但是,我尝试更进一步,展示产品缩略图和产品名称。

我将如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

你有评论帖ID号吗?所以使用它你可以得到产品缩略图和产品名称。 Woocommerce产品也与WP中的其他帖子类型相同。所以,我不会在这里编写完整的代码,而是你需要的部分。

获取产品缩略图(这将返回缩略图的网址):

<?php echo wp_get_attachment_url( get_post_thumbnail_id($c->comment_post_ID) ); ?>

获得产品名称:

<?php $your_product = get_post($c->comment_post_ID);
$product_name = $your_product->post_title(); ?>

我希望这会对你有所帮助。

答案 1 :(得分:0)

您还需要传递user_id来获取当前用户的评论

<?php
    $user_id = get_current_user_id();
    $recent_comments = get_comments( array(
    'number'    => -1,
    'status'    => 'approve',
    'user_id' => $user_id
    ) );

    echo '<ul>';
    foreach($recent_comments as $recent_comment):
      echo "<li>";
      echo wp_get_attachment_url( get_post_thumbnail_id($recent_comment->comment_post_ID) );
      echo '<a href="'.get_comment_link($recent_comment).'" target="_blank">'.get_the_title($recent_comment->comment_post_ID).'</a>';
      echo $recent_comment->comment_content;
      echo $recent_comment->comment_date;
      echo "</li>"
    endforeach;
?>

我希望这对您有用。