Se você fizer algumas buscas no código PHP do WordPress, você vai perceber que widgets como o “Arquivos” são carregados no arquivo wp-includes/default-widgets.php
. Se você alterar essa linha:
<?php wp_get_archives(apply_filters('widget_archives_args', array('type' => 'monthly', 'show_post_count' => $c))); ?>
para:
<?php wp_get_archives(apply_filters('widget_archives_args', array('type' => 'yearly', 'show_post_count' => $c))); ?>
Funcionará. Mas, hey, não é uma tática muito boa. Note o caminho do arquivo que você está alterando: wp-includes/default-widgets.php
. Não está dentro da pasta de temas. Isso significa que seu novo menu de arquivos desaparecerá na próxima vez que você atualizar sua instalação do WordPress. Para evitar isso, você pode aproveitar o mecanismo de hooks do WordPress. O objetivo deste mecanismo é exatamente expor alguns pontos de extensão que podem ser usados por desenvolvedores de plugins e temas, assim eles não tem que ficar fuçando no código do núcleo do WordPress.
O widget Arquivos provê um hook chamado “widget_archives_args” (disponível no WP >= 2.8). Você pode pendurar sua função neste hook, e ela será usada como um filtro para os parâmetros passados para wp_get_archives pela implementação do widget. Nesta interceptação, você pode alterar o tipo do arquivo para “yearly” (anual) através do seguinte trecho de código:
function yearly_archives_callback($args) { $args['type'] = 'yearly'; return $args; }
add_filter('widget_archives_args', yearly_archives_callback);
Coloque isso no início do arquivo functions.php do seu tema. Em sua sidebar, o widget agora mostrará uma lista de anos e, se você assim o configurou, o número de posts naquele ano. Dado que o arquivo functions.php está dentro do diretório do seu tema, ele não será sobrescrito em uma atualização do WordPress. Você apenas tem que cuidar para não usar o tema padrão (twentyten) sem renomeá-lo. Do contrário, o esforço de colocar o código dentro do tema terá sido em vão.
This post is also available in english.
Pingback: Wordpress: yearly archives in the dynamic menu | Subterfúgios