Uma das tarefas ingratas que não existem no wordpress é uma ordenação pelos posts mais vistos.
Recentemente tive que implementar isso num blog que estou desenvolvendo e apanhei um pouco. Aqui vai uma receitinha de bolo para quem quiser implementar isso:
Primeira coisa… instale o plugin wp-postviews
Ative ele no seu blog e boas…
Agora vem a parte que vai complicar…
No layout que fizemos, a index é montada ou pelos mais recentes ou pelos mais vistos… para poder fazer isso e manter uma url separada para cada, eu dupliquei a página index.php, renomeiei ela para algo como page_mais_vistos.php e adicionei o seguinte código no topo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php /* Template Name: Home Mais Vistos */ // Acima temos o nome do template que sera usado na página personalizada get_header(); global $more; // Declare global $more (before the loop). $more = 0; // $posts_per_page = get_query_var('posts_per_page'); $paged = intval(get_query_var('paged')); $paged = ($paged) ? $paged : 1; $args = array( 'posts_per_page' => $posts_per_page, 'paged' => $paged, 'more' => $more = 0, 'meta_key' => 'views', 'orderby' => 'meta_value_num', 'order' => 'ASC', ); query_posts($args); ?> |
O resto fica normal… note que eu inclui o get_header() do wordpress nessa coisa toda… (só pra vc não inclui-lo duas vezes).
Bom… agora vamos no admin do wordpress e criamos uma página nova – nomeie ela de mais vistos ou algo do genero…
Na barra lateral, vc tem uma opção “Page Attributes”… nela escolha o template “Home Mais Vistos” (ou o nome do template que você colocou no comentário do arquivo que você criou).
Publique a página…
Se tudo correu bem, após navegar um pouco nos seus posts… você acessando a url http://URL_DO_SEU_BLOG/mais-vistos, você deveria ter uma página, igual a index do seu site, só que com a ordenação baseada nos posts mais vistos.
Acho que é isso…
Page optimized by WP Minify WordPress Plugin