Перейти к содержимому

Исправления для Popularity Contest

Popularity Contest - старый, удобный и давно используемый плагин для WordPress, позволяющий вести рейтинг записей блога исходя из различных параметров (таких как число просмотров, комментариев, пингов, переходов с поисковиков и т.д.).

К сожалению последня его версия 2.0 beta 2 была выпущена год назад и содержит несколько ошибок, не позволяющих использовать все функции плагина. Ниже даются исправления для двух таких ошибок.

Первая, широко известная, - при попытке обновить число комментариев, пингов и трекбэков выдается такое сообщение об ошибке:

Catchable fatal error: Object of class stdClass could not be converted to string in /path/to/popularity-contest.php on line 539

Для исправления необходимо заменить


$this->populate_post_data($post_id);

на


$this->populate_post_data($post_id->ID);

в строке 772 (функция recount_feedback(), если вы используете другую ревизию этого файла).

Вторая ошибка заключается в том, что при использовании Ajax API обновления статистики (включено по умолчанию), не ведется подсчет переходов с поисковых машин. Для исправления необходимо заменить


else if (($api && in_array($type, array('single', 'page'))) || is_single() || is_singular() || is_page()) {

на


else if (($api && in_array($type, array('single', 'page', 'searcher'))) || is_single() || is_singular() || is_page()) {

в строке 660 (функция record_view()).

К учету переходов с поисковых машин относится и неудобство, связанное с ограничением в 50 символов на длину параметра настроек этого плагина, записываемых в базу данных, т.е. ваш список поисковых машин, записанных в строку через пробел, не может превышать эти 50 символов (лишнее будет урезано). Поэтому могу порекомендовать использовать такой список: [www.google.com www.google.ru yandex.ru go.mail.ru].

Исправления для Popularity Contest: 33 комментария

  1. Уведомление: Еще фикс к Popularity Contest

Добавить комментарий

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