Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Запретить удалять свой голос с комментария
11ответ(ов) в теме
DJBANDERAS
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 31
Сообщения 108
1
02:52
Версия WP-Recall: 16.16.5

Всем привет!
Уважаемые модераторы, администраторы форума Codeseller. Я приношу огромные извинения за прошлый мой пост... Я думаю Андрей и Otshelnik-Fm знают о чём я... погоречился тогда я... Таких как я у вас тут хватает, и зря я тогда наехал на вас. Простите парни) Сейчас понимаю что поступил тогда не правильно... Но прошлое не изменить, но можно изменить будущее. Поэтому я хочу его изменить, и ещё раз извиниться перед вами.
Надеюсь вы поймёте и простите меня)

И хочу спросить вот ещё что..
В настройках Wp Recall - Настройки рейтинга - в расширеных настройках есть пункт: Удаление своего голоса. Эта настройка не распространяется на лайки в комментариях?
Я запретил возможность убирать лайки. Всё работает в постах. А вот в комментариях эта функция не действует.

Вы не можете просматривать опубликованные ссылки
0
Андрей CS
не в сети 14 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
2
11:43

комментарии к видео? возможно, там эта опция не отработана, позже проверим

0
DJBANDERAS
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 31
Сообщения 108
3
12:20

Андрей CS сказал(а)
комментарии к видео? возможно, там эта опция не отработана, позже проверим

Комментарии к постам... там эта опция не работает.

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

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

0
Preci
не в сети 2 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
5
14:14

Конечно не работает, у вас же рейтинг выводится нестандартно.

Вот же ваш пост:

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

Вот рабочий код под вашу задачу:

add_filter('rcl_rating_user_can', 'rcl_user_can_vote_hytd', 11, 2);
function rcl_user_can_vote_hytd($userCan, $data){
	global $user_ID;
	
	//Если гость, то ничего не меняем
	if(!$user_ID) return $userCan;
	
	//Если юзер автор объекта рейтинга, то ничего не меняем
	if($data['object_author'] == $user_ID) return $userCan; // Если автор объекта рейтинга
	
	//Если в опциях запрет на редактирование рейтинга, то запретим юзеру его редактировать
	if(!rcl_get_option('rating_delete_voice')) {
		if(rcl_get_vote_value($user_ID,$data['object_id'],$data['rating_type'])) return $userCan; // Если голосовал
	}
	
	//Иначе делаем рейтинг рабочим везде, даже в excerpt, feed и т.д.
	$userCan['vote'] = true;
	return $userCan;
}

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

2
DJBANDERAS
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 31
Сообщения 108
6
19:24

Preci сказал(а)
Конечно не работает, у вас же рейтинг выводится нестандартно.

Вот же ваш пост:

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

Вот рабочий код под вашу задачу:

add_filter('rcl_rating_user_can', 'rcl_user_can_vote_hytd', 11, 2);
function rcl_user_can_vote_hytd($userCan, $data){
	global $user_ID;
	
	//Если гость, то ничего не меняем
	if(!$user_ID) return $userCan;
	
	//Если юзер автор объекта рейтинга, то ничего не меняем
	if($data['object_author'] == $user_ID) return $userCan; // Если автор объекта рейтинга
	
	//Если в опциях запрет на редактирование рейтинга, то запретим юзеру его редактировать
	if(!rcl_get_option('rating_delete_voice')) {
		if(rcl_get_vote_value($user_ID,$data['object_id'],$data['rating_type'])) return $userCan; // Если голосовал
	}
	
	//Иначе делаем рейтинг рабочим везде, даже в excerpt, feed и т.д.
	$userCan['vote'] = true;
	return $userCan;
}

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

К сожалению не помогло...
И рейтинг выводится стандартно. Я не стал использовать код для возможности голосования в фиде. Все "лайки" выводятся стандартно. Везде пропадает возможность убирать лайк, а вот в комментариях и ставить и убирать можно хоть сколько раз. Но поставить лайк на свой коммент нельзя. Значит работает, проблема только в том как запретить убирать лайк. И ещё, если лайк не стоит - то он серого цвета, если поставил - то красного. А тут в комментариях такая ситуация - ставишь лайк, он становится красным, прибавляется цифарка на плюс один. Перезагружаешь страницу, сердечко снова серое, но цифра не поменялась. Нажимаю на сердечко - сердце становится красным, и цифра минус один. перезагружаю страницу - сердце снова серое и всё по кругу...

0
Preci
не в сети 2 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
7
19:36

Каким образом вы рейтинг в комментариях выводите?
У вас после голосования и обновления страницы у рейтинга нет класса user-vote, значит вы выводите рейтинг как-то неправильно, или вносили какие-то изменения

0
Вова (Otshelnik-Fm)
не в сети 15 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
8
19:44

проверял на версии 16.17
Выставил в настройках "мне нравится" за комментарии
Выставил в настройках запрет удаления рейтинга

В комментарии ставлю лайк - прибавляется. Потом также нажимаю повторно снимается голос - тут происходит ошибка значит.

Но если поставить лайк и обновить страницу - голос снять нельзя

(И так тыкать - поставить/снять можно бесконечно - если конечно не обновить по f5 страницу)

0
Preci
не в сети 2 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
9
19:56

Otshelnik-Fm сказал(а)
проверял на версии 16.17
Выставил в настройках "мне нравится" за комментарии
Выставил в настройках запрет удаления рейтинга

В комментарии ставлю лайк - прибавляется. Потом также нажимаю повторно снимается голос - тут происходит ошибка значит.

Но если поставить лайк и обновить страницу - голос снять нельзя

(И так тыкать - поставить/снять можно бесконечно - если конечно не обновить по f5 страницу)

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

0
Андрей CS
не в сети 14 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
10
20:19

Preci сказал(а)
получается защита от случайного клика

Именно так. Отменить голос можно пока со страницы не ушел, потом уже не выйдет.

0
DJBANDERAS
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 31
Сообщения 108
11
20:20

Где же у меня косяк... всё пересмотрел... =(
Плагины деактивировал, всё перелопатил...

Редакции сообщения
05.01.2019 20:29DJBANDERASПричина: не указано
0
Вы не имеете права на публикацию сообщений в этой теме