Перенесено в соответствующий форум.
У дополнения Shop Service свой функционал отзывов.
Вывести отзывы на странице услуги теоретически можно, выбрав их из БД по идентификатору услуги, но надо не только запрос составить, но и верстку их вывода разместить. Могу подсказать как запросом получить все отзывы к услуге, а дальше уже сами выведите где надо.
Извините, немного торможу...
Т.е. этот код нужно разместить в шаблоне single-service.php, затем отобразить содержимое print_r($reviews, true); и увидим отзывы? Если да, то ничего не отображается.
Уточните, пожалуйста, код для шаблона поконкретней (я не имею ввиду вёрстку и разметку, только код php).
И ещё - что отобразится, если отзывов не будет?
Отлично. Спасибо за разъяснение.
Тогда цитату из этого же описания "В результате общий рейтинг опубликованной услуги будет также формироваться из отзывов Заказчиков на эту услугу." лучше бы переформулировать...
И всё же вопрос остаётся открытым:
Код:
$post_id,
'object_type' => 'service',
'number' => -1
) );
print_r($reviews, true); ?>
в шаблоне single-service.php ничего не выводит...
hugoborz111@yandex.ru сказал(а)
лучше бы переформулировать
в этом нет необходимости, потому что рейтинг услуги действительно складывается из рейтинга отзывов ее исполнителя
hugoborz111@yandex.ru сказал(а)
И всё же вопрос остаётся открытым
приведите какой то корректный код, который вы пытаетесь использовать
Андрей CS сказал(а)
приведите какой то корректный код, который вы пытаетесь использовать
<div id="content" class="job_page align_left_me"> <?php if ( have_posts() ): while ( have_posts() ) : the_post(); ?> <div class="service-block-main"> <div class="box_title"><?php the_title(); ?></div> <?php the_post_thumbnail(); ?> <?php the_content();?> </div> <div class="order_button_left"> <? echo sm_my_service_order_button(); ?> </div> <?$post_id = get_the_ID();?> <? $reviews = sm_get_reviews( array( 'object_id' => $post_id, //ID услуги 'object_type' => 'service', 'number' => -1 ) ); print_r($reviews, true); ?> <?php endwhile; ?> <?php endif; ?> </div>
Если кому-то понадобится, то готовый код для вывода отзывов на страницу услуги:
<?$post_id = get_the_ID();?> <? $reviews = sm_get_reviews( array( 'object_id' => $post_id, //ID услуги 'object_type' => 'service', 'number' => -1 ) ); if ($reviews) {?><div class="reviews-user-main"><h3>Отзывы</h3><?} foreach($reviews as $myarr) { $name = $myarr->user_id; $user = get_user_by('id', $name); echo '<div class="reviews-user"><div class="reviews-user-name">'.$user->display_name.'</div>'; echo '<div class="reviews-user-date">'.$myarr->review_date.'</div>'; echo '<div class="reviews-user-reviews">'.$myarr->review_content.'</div>'; $starNumber = $myarr->rating_value; echo '<div class="reviews-user-rating">'; for( $x = 0; $x < 5; $x++ ) { if( floor( $starNumber )-$x >= 1 ) { echo '<div><i class="fa fa-star"></i></div>'; } elseif( $starNumber-$x > 0 ) { echo '<div><i class="fa fa-star-half-o"></i></div>'; } else { echo '<div><i class="fa fa-star-o"></i></div>'; } }; echo '</div></div>'; } ?></div>
Стилизуйте как вам нужно или возьмите готовые:
.reviews-user-main{ margin-top: 40px; background: #fff; padding: 15px; } .reviews-user{ padding: 10px; border: 1px #eee solid; margin: 10px 0; } .reviews-user-name{ font-size: 20px; margin-bottom: 5px; display: inline-block; color: #787878 } .reviews-user-date{ display: inline-block; float: right; color: #333; font-size: 14px } .reviews-user-reviews{ padding: 5px 0; margin-bottom: 5px; color: #333 } .reviews-user-rating div{ display: inline-block; color: orange; padding: 1px }