О web-разработке
и даже немного больше...

WP-PostRatings: Failed To Verify Referrer

Если вам приходилось использовать WordPress, то возможно вы сталкивались с плагином WP-PostRaitings. Данный плагин позволяет выводить звезды рейтинга, тем самым вы можете поставить оценку к посту. Плагин позволяет с минимальными усилиями прикрутить систему голосования за посты к вашему сайту. Пока работает всё здорово, до того момента, пока мы не решили установить Wp-Super-Cache, который собственно кэширует страницы, которые за счет этого открываются гораздо живее. После чего, получая кэшированную страницу, если мы пожелаем проголосовать за какой-либо пост, то может возникнуть ошибка, с сообщением «Failed To Verify Referrer».

Сам плагин Wp-PostRaitings работает по ajax-у, и как оказалось механизм обеспечивающий, по сути, защиту от накрутки оценок (проверка Referrer) стал причиной неработоспособности в случае загрузки страницы из кэша.
Как оказалось эти два плагина немного не дружат, вследствие чего, чтобы заработал механизм оценки поста, вам предстоит выполнить кое-какие манипуляции с плагином. Временное решение – это почистить кэш, после чего рейтинг будет работать до момента кэширования страницы, после чего всё повториться снова. Такой расклад меня не устраивает, поэтому попробуем сделать немного иначе. Найдем строки, которые проверяют Referrer, и закомментируем, самым банальным образом.

Открываем файл wp-postraitings.php в редакторе кода, размещается файл по умолчанию тут:
/wp-content/plugins/wp-postratings/wp-postratings.php

Находим строки:

// Verify Referer
if(!check_ajax_referer('postratings_'.$post_id.'-nonce', 'postratings_'.$post_id.'_nonce', false))
{
	_e('Failed To Verify Referrer', 'wp-postratings');
	exit();
}

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

/*if(!check_ajax_referer('postratings_'.$post_id.'-nonce', 'postratings_'.$post_id.'_nonce', false))
{
	_e('Failed To Verify Referrer', 'wp-postratings');
	exit();
}*/

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

Опубликован: 10.11.2016 г.

См. также:

Убираем URL из формы комментариев WordPress
Работа с базой данных в WordPress
SQL-запросы для смены домена в WordPress
Мультиязычность с помощью плагина Polylang
Как создать свои шорткоды в WordPress
Как добавить виджет на сайт WordPress?
Добавление записей в WordPress средствами PHP
Как отключить архивы по авторам в WP?

Комментарии

  1. Юрий пишет:

    Такой строчки нет в коде, подскажите что надо закомментировать

    1. htmaker пишет:

      Через файловый поиск в тексте (например используя Total Commander), попробуйте найти строку где выводится "Failed To Verify Referrer"

  2. алекс пишет:

    Лол
    Хотел поставить рейтинг этой статье, но:
    Невозможно проверить Referrer

    1. htmaker пишет:

      Исправил, спасибо!

  3. Владимир пишет:

    Спасибо. За 2 минуты сделал. Всё заработало.

  4. Виктор пишет:

    Спасибо, бро

  5. Oleg пишет:

    Помогло!
    Спасибо!

Добавить комментарий для Владимир Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта