Main Contents

O concurso de popularidade

Por Marco Lopes em 2008

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.

Permalink | Enviar post por email Enviar post por email | Desenvolvimento

Deixe o seu comentário


Feed