O concurso de popularidade
Como muitos já devem ter reparado, instalei o plugin Popularity Contest neste blog. Apesar de aqui tudo ter corrido bem, o mesmo não aconteceu no Games Online. Para os que estão já a pensar que estou a falar do hack da linha 59 para funcionar com o wordpress 2.5.1, digo-vos já que estão enganados.
O problema que acontecia era o seguinte. O Games Online tem como homepage uma página do wordpress em vez do default index.php e nessa página tem 2 loops. Um dos loops serve para fazer a lista de jogos e o outro a lista de posts do blog. Acontece que o plugin, na linha 1323 apanha o id do post actual da seguinte forma:
$ids[] = $post->ID;
E isto, por algum motivo que me escapa, estava a devolver sempre o id da página e não o id de cada um dos posts. A consequência disto é que na homepage, todos os posts apareciam como unranked. A solução passou por na template, dentro do loop que vai buscar os posts seguir as indicações que estão no wordpress codex:
<?php $do_not_duplicate = $post->ID; ?>
E no código do plugin, garantir que a variável $do_not_duplicate está a ser importada, alterando a linha 1314 para o seguinte:
global $wpdb, $posts, $do_not_duplicate;
E substituindo a referida linha 1323 pelo seguinte:
if($do_not_duplicate) { $ids[] = $do_not_duplicate; } else { $ids[] = $post->ID; }
Por agora, parece que isto resolveu o problema.
