Installer le plugin WordPress Popularity Contest d’Alex King

Le plugin WordPress Popularity Contest d’Alex King est sans doute l’un des plugins les plus utilisés et souvent inséré par défaut dans les thèmes WordPress, mais il ne marche pas avec WP2.5 et +.

Par ex, le thème KayuPress de mon 3e blog Antoinevoyage.com le requiert dans la sidebar. Alors évidemment, la solution de facilité est de virer le code php correspondant à ce plugin. Mais j’avais envie de l’utiliser, or a chaque fois que j’essayais de l’activer, j’avais Erreur Fatale.

Je suis donc allé sur le site d’Alex King, créateur du plugin qui informait sur le site les compatibilité avec la nouvelle version de WordPress, la 2.5 (et plus). Et comme je m’en doutais, son plugin avait un problème avec cette nouvelle version mais apparement un fix avait été trouvé. Or nul part sur son site apparaissait la solution…

Finalement, en fouinant dans les commentaires, voici la marche à suivre :

– Télécharger la dernière version de Popularity Contest.

– Ouvrez le fichier popularity-contest.php et à la ligne 59 changez :
require(’../../wp-blog-header.php’); par require(’../wp-blog-header.php’);

– Avant d’enregistrer, si vous souhaitez ne pas voir les pourcentages de popularité sur chacun de vos articles, il suffit de modifier la ligne 39 du même fichier :
@define('AKPC_SHOWPOP', 1); en @define('AKPC_SHOWPOP', 0);

– Maintenant que cela est fait, enregistrez, uploadez sur votre serveur. Vous ne pourrez toujours pas activer.

– Direction la base mysql de votre blog avec phpmyadmin et ensuite selectionnez votre base et cliquez sur l’onglet SQL et faites executer ce code en remplacant préalablement PREFIX par le préfixe correspondant au blog (wp est par défaut, mais si vous avez plusieurs blogs sur la même base, ca peut être autre chose) :
CREATE TABLE IF NOT EXISTS `PREFIX_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 `PREFIX_ak_popularity_options` (
`option_name` varchar(50) NOT NULL,
`option_value` varchar(50) NOT NULL
) ENGINE=MyISAM;

Faites Executer. Ensuite vous pourrez aller activer le plugin dans votre WordPress. (en fait vous venez de créer les tables dont le plugin a besoin et qu’il n’a pas été capable de créer)

Sources :
http://alexking.org/projects/wordpress/readme?project=popularity-contest
http://blog.evaria.com/2008/wp-plugins-1-fix-and-1-update/
http://www.kenmc.com/2008/03/30/wordpress-25-is-live-and-wild-plus-popularity-contest-notes/