2017-11-27 6 views
0

私は電子商取引の製品に取り組んでいます。現在、クライアントは、個々の製品ごとにレビューと評価を追加する必要があります。使用しているテーマは、レビューと評価を表示する機能がありません。レビューと評価が有効であるかどうかをコードで確認する方法を知る必要がある場合は、次のコードを使用してください。コメントと評価を手動で表示する方法

global $product; 
if (! comments_open()) { 
    echo "false"; 
} 
else 
{ 
echo "true"; 
} 

ので、それは確かに私のテーマはレビューやコメントが表示されていない確認した真の表示なので、私はいくつかの検索を行なったし、私は、ファイルtheme/content-single-product.phpで使用される製品ページ上のレビューや評価を表示するスニペットを見つけたここにありますコード

<?php 
/** 
* Display single product reviews (comments) 
* 
* This template can be overridden by copying it to yourtheme/woocommerce/single-product-reviews.php. 
* 
* HOWEVER, on occasion WooCommerce will need to update template files and you 
* (the theme developer) will need to copy the new files to your theme to 
* maintain compatibility. We try to do this as little as possible, but it does 
* happen. When this occurs the version of the template file will be bumped and 
* the readme will list any important changes. 
* 
* @see   https://docs.woocommerce.com/document/template-structure/ 
* @author  WooThemes 
* @package  WooCommerce/Templates 
* @version  3.2.0 
*/ 
if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 
global $product; 
if (! comments_open()) { 
    return; 
} 
?> 
<div id="reviews" class="woocommerce-Reviews"> 
    <div id="comments"> 
     <h2 class="woocommerce-Reviews-title"><?php 
      if (get_option('woocommerce_enable_review_rating') === 'yes' && ($count = $product->get_review_count())) { 
       /* translators: 1: reviews count 2: product name */ 
       printf(esc_html(_n('%1$s review for %2$s', '%1$s reviews for %2$s', $count, 'woocommerce')), esc_html($count), '<span>' . get_the_title() . '</span>'); 
      } else { 
       _e('Reviews', 'woocommerce'); 
      } 
     ?></h2> 

     <?php if (have_comments()) : ?> 

      <ol class="commentlist"> 
       <?php wp_list_comments(apply_filters('woocommerce_product_review_list_args', array('callback' => 'woocommerce_comments'))); ?> 
      </ol> 

      <?php if (get_comment_pages_count() > 1 && get_option('page_comments')) : 
       echo '<nav class="woocommerce-pagination">'; 
       paginate_comments_links(apply_filters('woocommerce_comment_pagination_args', array(
        'prev_text' => '&larr;', 
        'next_text' => '&rarr;', 
        'type'  => 'list', 
       ))); 
       echo '</nav>'; 
      endif; ?> 

     <?php else : ?> 

      <p class="woocommerce-noreviews"><?php _e('There are no reviews yet.', 'woocommerce'); ?></p> 

     <?php endif; ?> 
    </div> 

    <?php if (get_option('woocommerce_review_rating_verification_required') === 'no' || wc_customer_bought_product('', get_current_user_id(), $product->get_id())) : ?> 

     <div id="review_form_wrapper"> 
      <div id="review_form"> 
       <?php 
        $commenter = wp_get_current_commenter(); 
        $comment_form = array(
         'title_reply'   => have_comments() ? __('Add a review', 'woocommerce') : sprintf(__('Be the first to review &ldquo;%s&rdquo;', 'woocommerce'), get_the_title()), 
         'title_reply_to'  => __('Leave a Reply to %s', 'woocommerce'), 
         'title_reply_before' => '<span id="reply-title" class="comment-reply-title">', 
         'title_reply_after' => '</span>', 
         'comment_notes_after' => '', 
         'fields'    => array(
          'author' => '<p class="comment-form-author">' . '<label for="author">' . esc_html__('Name', 'woocommerce') . ' <span class="required">*</span></label> ' . 
             '<input id="author" name="author" type="text" value="' . esc_attr($commenter['comment_author']) . '" size="30" aria-required="true" required /></p>', 
          'email' => '<p class="comment-form-email"><label for="email">' . esc_html__('Email', 'woocommerce') . ' <span class="required">*</span></label> ' . 
             '<input id="email" name="email" type="email" value="' . esc_attr($commenter['comment_author_email']) . '" size="30" aria-required="true" required /></p>', 
         ), 
         'label_submit' => __('Submit', 'woocommerce'), 
         'logged_in_as' => '', 
         'comment_field' => '', 
        ); 
        if ($account_page_url = wc_get_page_permalink('myaccount')) { 
         $comment_form['must_log_in'] = '<p class="must-log-in">' . sprintf(__('You must be <a href="%s">logged in</a> to post a review.', 'woocommerce'), esc_url($account_page_url)) . '</p>'; 
        } 
        if (get_option('woocommerce_enable_review_rating') === 'yes') { 
         $comment_form['comment_field'] = '<div class="comment-form-rating"><label for="rating">' . esc_html__('Your rating', 'woocommerce') . '</label><select name="rating" id="rating" aria-required="true" required> 
          <option value="">' . esc_html__('Rate&hellip;', 'woocommerce') . '</option> 
          <option value="5">' . esc_html__('Perfect', 'woocommerce') . '</option> 
          <option value="4">' . esc_html__('Good', 'woocommerce') . '</option> 
          <option value="3">' . esc_html__('Average', 'woocommerce') . '</option> 
          <option value="2">' . esc_html__('Not that bad', 'woocommerce') . '</option> 
          <option value="1">' . esc_html__('Very poor', 'woocommerce') . '</option> 
         </select></div>'; 
        } 
        $comment_form['comment_field'] .= '<p class="comment-form-comment"><label for="comment">' . esc_html__('Your review', 'woocommerce') . ' <span class="required">*</span></label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true" required></textarea></p>'; 
        comment_form(apply_filters('woocommerce_product_review_comment_form_args', $comment_form)); 
       ?> 
      </div> 
     </div> 

    <?php else : ?> 

     <p class="woocommerce-verification-required"><?php _e('Only logged in customers who have purchased this product may leave a review.', 'woocommerce'); ?></p> 

    <?php endif; ?> 

    <div class="clear"></div> 
</div> 

コードは、私がコードで何の問題もないが、それでも一つのことが欠けている今、このコードは完璧に動作している

wordpress.orgから取られました!私はレビューと評価を追加することができます、それはデータベースにそれらを追加します。それを再ロードすると、この部分が正常に機能していることを意味するレビューの数が表示されます。ここ

は、ライブリンクecommerce

答えて

0

である私はそれをしなかった自分自身の問題のこの種を探している人は

$args = array(
       'number'  => 100, 
       'status'  => 'approve', 
       'post_status' => 'publish', 
       'post_type' => 'product' 
     ); 

$comments = get_comments($args); 
echo "<pre>"; 
print_r($comments); 
以下のコードを表示する必要があり
関連する問題