Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Суммарный рейтинг всех записей рубрики
12ответ(ов) в теме
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
1
10:39
Версия WP-Recall: 16.15.1

Подскажите как вывести суммарный рейтинг всех записей рубрики?

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

Данные рейтинга хранятся в таблице wp_rcl_rating_values.
Вам нужно составить кастомный sql запрос - выбрать из таблицы wp_rcl_rating_values из колонки rating_type значения post и идентификатор object_id - это id записи. Ну а дальше согласно структуре бд вордпресс выбрать нужные категории у этих постов

1
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
3
11:44

Сколько будет стоить написать этот запрос с выводом такого рейтинга? )) Я пока новичек в PHP...

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

Задания публикуются тут

Вы не можете просматривать опубликованные ссылки

Ставьте любую цену - кто свободен и заинтересуется - откликнется на задание и предложит свою цену, если ваша ему покажется недостаточной.

Конечно же суть задания должна быть максимально точно отображена в подробном т.з. - чтобы возможные исполнители не тратили время на переписку, уточняя детали. Многие на это не любят тратить время.

Ну а если не откликнутся - стоит поискать исполнителя на других площадках где работают фрилансеры

0
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
5
08:39

Сделал запрос, получил в переменную суммарное значение рейтинга для определенной рубрики (категории), как теперь прикрутить это значение к "Звездам" ?)

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

Тему перенес в кастомизации.
Я не понял что вам нужно. Что вы получили и что хотите сделать?
Вы же понимаете что вы сделали что-то кастомное - а значит придется все делать самостоятельно - т.к. того чего вы хотите в ядре плагина нету

0
Preci
не в сети 4 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
7
12:45

Александр сказал(а)
Сделал запрос, получил в переменную суммарное значение рейтинга для определенной рубрики (категории), как теперь прикрутить это значение к "Звездам" ?)

Одного общего рейтинга недостаточно, но вот пример:

<?php
		$total_rating = 52; //Суммарный рейтинг
		$vote_count = 20; // Сколько человек проголосовало
		$item_count = 5; // Кол-во звезд
		$vote_max = 5; // Макс. кол-во рейтинга за все звезды
		$average_rating = round( $total_rating / $vote_count, 1 ); // Средний рейтинг
		$item_value = round( $vote_max / $item_count, 1 ); // Значение рейтинга за 1 звезду
		$rating_value = round( $average_rating / $item_value, 1 ); // Значение рейтинга (вроде то же что и $average_rating)
		
		$props = array(
		'object_id' => 0,
		'rating_type' => 'my_rating',
		'user_vote' => true,
		'item_count' => $item_count,
		'vote_max' => $vote_max,
		'total_rating' => $total_rating,
		'vote_count' => $vote_count,
		'average_rating' => $average_rating,
		'item_value' => $item_value,
		'rating_value' => $rating_value
    );
		$rat = new Rcl_Rating_Box($props);
		
		echo '<div class="rcl-rating-box rating-type-post box-stars">';
		echo '<div class="rating-wrapper">';
		echo $rat->get_box_star();
		echo '</div>';
		echo '</div>';
?>

т.е. вам надо заполнить:

$total_rating //Это сумма рейтинга всех постов
$vote_count // Сколько человек проголосовало, т.е. вам надо знать сколько человек голосовало за каждый пост в категории и все сложить
$item_count = 5; // Кол-во звезд
$vote_max = 5; // Макс. кол-во рейтинга за все звезды

Редакции сообщения
05.05.2018 12:47PreciПричина: не указано
05.05.2018 12:50PreciПричина: не указано
2
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
8
13:35

Огромное спасибо)! Все завелось, но есть еще вопрос) в какой таблице БД сохраняется количество проголосовавших?

Редакции сообщения
05.05.2018 13:38АлександрПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
9
13:39

Otshelnik-Fm сказал(а)
таблицы wp_rcl_rating_values

- одна строка - один голос

1
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
10
14:21

Может кому пригодится, вот так сделал запрос, ввиду полного отсутствия опыта в PHP, может опытные поправят (оптимизируют) если что не так), но вроде все работает...


<?php $catID = get_query_var('cat'); ?>
									
<?php				
$connection = new mysqli("localhost","root","",'ozwp');
$query = "SELECT SUM(rating_value) AS 'ratingsum' FROM wp_rcl_rating_values 
INNER JOIN wp_term_relationships ON wp_rcl_rating_values.object_id=wp_term_relationships.object_id AND wp_rcl_rating_values.rating_value>='0'
WHERE wp_term_relationships.term_taxonomy_id='$catID'";
$result = $connection->query($query);
while($row = mysqli_fetch_array($result)) 
{
$ratingsumcat=$row['ratingsum'];
};
				
$connection = new mysqli("localhost","root","",'ozwp');
$query = "SELECT COUNT(rating_value) AS 'ratingusers' FROM wp_rcl_rating_values 
INNER JOIN wp_term_relationships ON wp_rcl_rating_values.object_id=wp_term_relationships.object_id AND wp_rcl_rating_values.rating_value>='0'
WHERE wp_term_relationships.term_taxonomy_id='$catID'";
$result = $connection->query($query);
while($row = mysqli_fetch_array($result)) 
{
$ratingusers=$row['ratingusers'];
}; ?>	


1) Сумма всех положительных оценок
2) Количество проголосовавших
Все применительно к открытой категории.

Редакции сообщения
05.05.2018 14:22АлександрПричина: не указано
05.05.2018 14:23АлександрПричина: не указано
05.05.2018 14:26АлександрПричина: не указано
0
Preci
не в сети 4 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
11
15:03

wp_term_relationships.term_taxonomy_id не всегда равно id категории

WHERE wp_term_relationships.term_taxonomy_id='$catID'";

заменить на

WHERE wp_term_relationships.term_taxonomy_id IN(SELECT wp_term_taxonomy.term_taxonomy_id FROM wp_term_taxonomy WHERE wp_term_taxonomy.term_id = '$catID')

1
Александр
не в сети 7 лет
На сайте с 26.04.2018
Участник
Тем 1
Сообщения 6
12
15:33

to Preci Спасибо, поправил.

0
Вы не имеете права на публикацию сообщений в этой теме