Домой Каталог: Дополнения WP-Recall Reviews Advance Возможно ли добавить отзывы к постам вместо комментариев?
11ответ(ов) в теме
maikolov@yandex.ru
не в сети 5 лет
На сайте с 24.03.2020
Участник
Тем 1
Сообщения 4
1
01:03
Версия WP-Recall: 16.18.9
Версия дополнения: 1.2.3

Возможно ли добавить отзывы к постам вместо комментариев? Если да то каким образом это реализуется?

0
Андрей CS
не в сети 25 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
2
08:10

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

add_action( 'rcl_reviews_init', 'rcl_init_post_review_rating_type', 10 );
function rcl_init_post_review_rating_type() {

	rcl_init_reviews_type( array(
		'rating_type'	 => 'post-review',
		'type_name'		 => __( 'Отзывы к публикации'),
		'style'			 => true,
		'add_form'		 => true,
		'init_tab'		 => true
		)
	);
}

Затем убрать стандартную форму комментирования в шаблоне используемой темы.
Вместо нее вывести форму отзыва и указать для нее обязательные параметры:

echo rcl_get_review_form( array(
	'object_id'		 => $post_id, //идентификатор объекта за который голосуем
	'rating_type'	 => 'post-review', //тип рейтинга
	'object_author'	 => $post_author, //идентификатор автора объекта
	'user_id'		 => $author_review //идентификатор автора отзыва
) );

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

echo rcl_get_reviews_list( array(
	'object_id'		 => $post_id, //идентификатор объекта за который голосуем
	'rating_type'	 => 'post-review', //тип рейтинга
) );

по идее все должно работать, но надо проверять и пошагово выявлять ошибки, если они будут.
И подобным образом можно добавлять отзывы к любым объектам и сущностям.

Редакции сообщения
25.03.2020 08:46Андрей CSПричина: не указано
0
Андрей CS
не в сети 25 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
3
08:43

вот вариант рабочего кода, который был размещен в файле comments.php используемой темы на замену форме комментирования

global $post,$user_ID;

//выводим все отзывы к объекту
echo rcl_get_reviews_list( array(
	'object_id'		 => $post->ID,
	'rating_type'	 => 'post-review',
) );

//получаем отзыв к объекту от текущего пользователя
$userRvwId = rcl_get_review_by_args( array(
	'object_id'		 => $post->ID,
	'rating_type'	 => 'post-review',
	'user_id'		 => $user_ID,
	'fields'		 => array( 'review_id' )
) );

if(!$userRvwId){
        //выводим форму отзыва
	echo rcl_get_review_form( array(
		'object_id'		 => $post->ID, 
		'rating_type'	 => 'post-review',
		'object_author'	 => $post->post_author,
		'user_id'		 => $user_ID
	) );
}

0
maikolov@yandex.ru
не в сети 5 лет
На сайте с 24.03.2020
Участник
Тем 1
Сообщения 4
4
18:15

Код рабочий, но к сожалению, таким образом он не влияет на рейтинг поста.

0
Андрей CS
не в сети 25 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
5
18:33

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

0
maikolov@yandex.ru
не в сети 5 лет
На сайте с 24.03.2020
Участник
Тем 1
Сообщения 4
6
18:57

А можно чуть подробнее, для около нулевого уровня так сказать?)
Я понимаю что заменить надо вот это
rating_type' => 'post-review
но не понимаю на что.

И еще вопрос. А как добавить возможность загрузки картинок в эти отзывы?

Редакции сообщения
25.03.2020 18:58maikolov@yandex.ruПричина: не указано
25.03.2020 19:02maikolov@yandex.ruПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 7 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
7
19:18

'rating_type' => 'rating_post',

0
Андрей CS
не в сети 25 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
8
19:30

Владимир, не, нужно указывать именно тип поста, т.е. для обычных записей будет 'rating_type' => 'post'
какой у вас тип записи?

2
maikolov@yandex.ru
не в сети 5 лет
На сайте с 24.03.2020
Участник
Тем 1
Сообщения 4
9
20:19

Обычная запись
Если написать вот так, то при оставлении отзыва пишет - Не был указан рейтинг!

//выводим все отзывы к объекту
echo rcl_get_reviews_list( array(
	'object_id'		 => $post->ID,
	'rating_type' => 'rating_post',
) );

//получаем отзыв к объекту от текущего пользователя
$userRvwId = rcl_get_review_by_args( array(
	'object_id'		 => $post->ID,
	'rating_type' => 'rating_post',
	'user_id'		 => $user_ID,
	'fields'		 => array( 'review_id' )
) );

if(!$userRvwId){
        //выводим форму отзыва
	echo rcl_get_review_form( array(
		'object_id'		 => $post->ID, 
		'rating_type' => 'rating_post',
		'object_author'	 => $post->post_author,
		'user_id'		 => $user_ID
	) );
}

Если написать 'rating_type' => 'post', все работает. Спасибо.
Я выше уже спрашивал, но видимо пропустили.
И еще вопрос. А как добавить возможность загрузки картинок в эти отзывы?

Редакции сообщения
25.03.2020 20:42maikolov@yandex.ruПричина: не указано
25.03.2020 20:44maikolov@yandex.ruПричина: не указано
25.03.2020 20:45maikolov@yandex.ruПричина: не указано
0
Андрей CS
не в сети 25 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
10
20:51

В самом первом коде, что я приводил, где "Сначала надо зарегистрировать новый тип рейтинга" надо также поменять указание типа рейтинга на свой.
Картинки загрузить не выйдет, потребуется доработка.

1
anton.shumihin
не в сети 4 года
На сайте с 09.05.2019
Участник
Тем 10
Сообщения 26
11
20:56

Я так понимаю возможно сделать тоже самое И для публикации товаров
Если я правильно понял нужно изменить Вот это поле
'rating_type' => 'postЕсли я правильно понял нужно изменить Вот это поле
На
'rating_type' => 'products'

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

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