Во время разработки очередного шаблона для WordPress 2.7 столкнулся с проблемой при установке плагина Popularity Contest. Этот плагин предназначен для вывода самых популярных постов на сайте.
Скачал плагин Popularity Contest c оффициального сайта. На момент написания поста последняя версия - 1.3b3 от 16 декабря 2007 года. Как видим плагин давно уже не обновлялся. Установка по идее довольно простая:
Но при активации плагина WordPress выдавал следующую ошибку: “Плагин не может быть активирован, поскольку он вызвал фатальную ошибку“.
Немного погуглив нашел решение:
1) Открываем popularity-contest.php и заменяем строчку 59:
require('../../wp-blog-header.php');
на
require('../wp-blog-header.php');
2) Необходимо создать таблицы в базе данных. Вот код:
CREATE TABLE IF NOT EXISTS `wp_ak_popularity` ( `post_id` int(11) NOT NULL, `total` int(11) NOT NULL, `feed_views` int(11) NOT NULL, `home_views` int(11) NOT NULL, `archive_views` int(11) NOT NULL, `category_views` int(11) NOT NULL, `single_views` int(11) NOT NULL, `comments` int(11) NOT NULL, `pingbacks` int(11) NOT NULL, `trackbacks` int(11) NOT NULL, `last_modified` datetime, KEY `post_id` (`post_id`) ) ENGINE=MyISAM; CREATE TABLE IF NOT EXISTS `wp_ak_popularity_options` ( `option_name` varchar(50) NOT NULL, `option_value` varchar(50) NOT NULL ) ENGINE=MyISAM;
Примечание. Если вы используете в БД префикс для таблиц отличный от wp_, то при создании таблиц замените префиксы на используемые вами.
После этих действий плагин должен активироваться и работать без проблем.