Домой Каталог: Дополнения WP-Recall Shop Service Вывести отзывы пользователя на страницу услуги
16ответ(ов) в теме
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
1
18:09
Версия WP-Recall: 16.17.11
Версия дополнения: 1.2.0

Как отобразить отзывы на странице услуги (шаблон single-service.php)
Возможно функцией sm_get_reviews_list ?
Но как конкретно?

0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
2
18:16

Перенесено в соответствующий форум.
У дополнения Shop Service свой функционал отзывов.
Вывести отзывы на странице услуги теоретически можно, выбрав их из БД по идентификатору услуги, но надо не только запрос составить, но и верстку их вывода разместить. Могу подсказать как запросом получить все отзывы к услуге, а дальше уже сами выведите где надо.

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
3
22:59

Андрей CS сказал(а)
Могу подсказать как запросом получить все отзывы к услуге, а дальше уже сами выведите где надо.

Буду весьма вам признателен...

0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
4
11:49

$reviews = sm_get_reviews( array(
   'object_id'	 => $post_id, //ID услуги
   'object_type' => 'service',
   'number'	 => -1
) );

переменная $reviews будет содержать все отзывы которые касались указанной услуги

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
5
15:33

Извините, немного торможу...
Т.е. этот код нужно разместить в шаблоне single-service.php, затем отобразить содержимое print_r($reviews, true); и увидим отзывы? Если да, то ничего не отображается.
Уточните, пожалуйста, код для шаблона поконкретней (я не имею ввиду вёрстку и разметку, только код php).
И ещё - что отобразится, если отзывов не будет?

Редакции сообщения
27.06.2019 15:38hugoborz111@yandex.ruПричина: не указано
27.06.2019 15:41hugoborz111@yandex.ruПричина: не указано
27.06.2019 15:42hugoborz111@yandex.ruПричина: не указано
0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
6
15:51

Я и дал вам код php, без верстки, там лишь массив с данными отзывов, вот его обработать вам придется самостоятельно.

hugoborz111@yandex.ru сказал(а)
Если да, то ничего не отображается.

я не знаю, что вы сделали и в как

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
7
17:08

А давайте немного проясним ситуацию...)
1. Насколько следует из описания Shop Service, существуют отзывы о пользователях и об услугах. Если это так, то как можно оставить отзыв об услуге?
2. В нашем случае мы выводим отзывы об услуге или пользователе, её предоставляющем.

0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
8
18:39

hugoborz111@yandex.ru сказал(а)
существуют отзывы о пользователях и об услугах

вот что есть в описании

после успешного завершения заказа Исполнителю и Заказчику будет предложено оставить отзыв друг другу

т.е. нет отзыва об услуге, есть отзыв исполнителю и отзыв заказчику

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
9
23:19

Отлично. Спасибо за разъяснение.
Тогда цитату из этого же описания "В результате общий рейтинг опубликованной услуги будет также формироваться из отзывов Заказчиков на эту услугу." лучше бы переформулировать...
И всё же вопрос остаётся открытым:
Код:
$post_id,
'object_type' => 'service',
'number' => -1
) );
print_r($reviews, true); ?>
в шаблоне single-service.php ничего не выводит...

0
Вова (Otshelnik-Fm)
не в сети 2 недели
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
10
10:01

$post_id - определена? Распечатывали? что она содержит?

0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
11
10:37

hugoborz111@yandex.ru сказал(а)
лучше бы переформулировать

в этом нет необходимости, потому что рейтинг услуги действительно складывается из рейтинга отзывов ее исполнителя

hugoborz111@yandex.ru сказал(а)
И всё же вопрос остаётся открытым

приведите какой то корректный код, который вы пытаетесь использовать

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
12
10:58

Otshelnik-Fm сказал(а)
$post_id - определена? Распечатывали? что она содержит?

Определена, раcпечатывал, содержит id.

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
13
11:00

Андрей 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>

Редакции сообщения
28.06.2019 11:01hugoborz111@yandex.ruПричина: не указано
28.06.2019 11:01hugoborz111@yandex.ruПричина: не указано
28.06.2019 11:03Андрей CSПричина: не указано
0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16996
14
11:06

вполне возможно, что у текущей услуги нет никаких отзывов, поэтому ничего не выводится
да и если используете второй параметр функции print_r, то надо применять echo, в вашем случае

print_r($reviews);

1
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
15
16:24

Спасибо. Всё получилось.

0
hugoborz111@yandex.ru
не в сети 4 года
На сайте с 03.06.2019
Участник
Тем 10
Сообщения 32
16
20:04

Если кому-то понадобится, то готовый код для вывода отзывов на страницу услуги:

 <?$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
}
3
Тема закрыта. Публикация новых сообщений запрещена.