Ошибка WP-PostRatings – “Failed To Verify Referrer”
Ошибки бывают везде, и этот плагин не исключение. Как я уже сказала, он установлен у меня уже давно. А вот ошибка такая стала возникать недавно. При попытке проголосовать за статью выскакивает надпись “Failed To Verify Referrer”. Судя по форумам, у некоторых бывает надпись “-1?.
Возможные причины
Причину я нашла одну: сохранена устаревшая версия javascript. Если на сайте установлен плагин кэширования (а у меня установлен – WP Super Cache), и он уже закэшировал javascript, используемый для оценки записи, то выскочит именно “Failed To Verify Referrer” или “-1?.
Как устранить эту ошибку
Есть 2 способоа.
- Очистить кэш. Это можно сделать в самом плагине кэширования. Я делаю это с помощью WP-Cleanup, который удаляет не только кэш, но и неиспользуемые данные: ревизии постов, спамные комментарии, неиспользуемые данные MySQL. Если у Вас стоит такой же плагин, Вы должны знать, что перед удалением неиспользуемых данных. следует сделать бэкап сайта. Его же желательно сделать и перед установкой любого плагина.
- Если первый способ решает проблему, а не устраняет ее причину, то второй как раз-таки нацелен на эту самую причину. Но тут нужно лезть в системные файлы WP-PostRatings. В файле wp-postratings.php (через редактирование плагина в админке WP или через FTP 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(); }На этот:
// Verify Referer if(!check_ajax_referer('postratings_'.$post_id.'-nonce', 'postratings_'.$post_id.'_nonce', false)) { //_e('Failed To Verify Referrer', 'wp-postratings'); _e('', 'wp-postratings'); //exit(); }
Это должно решить проблему, если она у вас возникла, конечно )
По материалам блога: https://promored.ru/2014/01/wp-rating-stars-snippet/
Таким же макаром решается проблема плагина WP Poll (опросы)
Также заходите в редактор wp-polls.php
// Verify Referer
if( ! check_ajax_referer(‘poll_’.$post_id.’-nonce’, ‘poll_’.$post_id.’_nonce’, false)) {
//_e(‘Failed To Verify Referrer’, ‘wp-postratings’);
_e(», ‘wp-polls’);
//exit();
}
Полная лажа. Вы хоть проверяли то, что выкладываете?? Удалил строчку как указано и вставил скопированную «ПРАВИЛЬНУЮ» в итоге: НА САЙТЕ ОБНАРУЖЕНА КРИТИЧЕСКАЯ ОШИБКА. Помогли , однако :))))
1. Это пример решения, у меня он работал, поэтому и выложил.
2. У вас могла быть похожая. но иная проблема
3. Никакого криминала тут нет, что не сработало, сделать обратные действия и вернуть старый код — 10 секунд.
Сработало! Спасибо автору за подсказку.
Виктор, видимо, какой-то символ лишний грохнул в коде, вот и вылезла ошибка.