Suporte » Ajustando o WordPress » Listar links de artigos agrupados por ano

  • Pessoal, estou tentando fazer uma listagens de links artigos de uma determinada categoria agrupados por ano.

    EX:

    2010
    – artigo5
    – artigo4
    – artigo3

    2009
    – artigo2
    – artigo2

    Tentei personalizar um código e não consegui.
    to tentando assim:

    <?php foreach($myposts as $post) : ?>	
    
    	<?php
    
    	// Setup the post variables
    	setup_postdata($post);
    
    	$year = mysql2date('Y', $post->post_date);
    	$month = mysql2date('n', $post->post_date);
    
    	?>
    
    	<?php if($year != $previous_year ) : ?>
    
    		<?php if($ul_open == true) : ?>
    		</ul>
    
    		<h3><?php the_time('Y'); ?></h3>
    
    		<?php if $month != $previous_month : ?>
    
    		<ul>
    
    		<?php $ul_open = true; ?>
    
    	<?php endif; ?>
    
    	<?php //$previous_year = $year; $previous_month = $month; ?>
    
    	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></li>
    
     <?php endif; ?>
    
    <?php endforeach; ?>
    
    	</ul>

    Alguém sabe como resolvo?

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Criador do tópico quadrochave

    (@quadrochave)

    Esqueci de colocar a parte de cima. então, segue o código inteiro:

    <?php
    
    // Declare some helper vars
    $previous_year = $year = 0;
    $previous_month = $month = 0;
    $ul_open = false;
    
    // Get the posts
    $myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC&cat=4');
    
    ?>
    
    <?php foreach($myposts as $post) : ?>	
    
    	<?php
    
    	// Setup the post variables
    	setup_postdata($post);
    
    	$year = mysql2date('Y', $post->post_date);
    	$month = mysql2date('n', $post->post_date);
    
    	?>
    
    	<?php if($year != $previous_year ) : ?>
    
    		<?php if($ul_open == true) : ?>
    		</ul>
    
    		<h3><?php the_time('Y'); ?></h3>
    
    		<?php if $month != $previous_month : ?>
    
    		<ul>
    
    		<?php $ul_open = true; ?>
    
    	<?php endif; ?>
    
    	<?php //$previous_year = $year; $previous_month = $month; ?>
    
    	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></li>
    
     <?php endif; ?>
    
    <?php endforeach; ?>
    
    	</ul>
    Moderador Leo Baiano

    (@leobaiano)

    Já tentou usar o wp_get_archives();?

    Criador do tópico quadrochave

    (@quadrochave)

    Já, mas o problema é que essa função faz uma lista de arquivos divididas por mes. Eu queria uma lista posts ( de uma categoria especifica) agrupados por ano.

    Ficará mais ou menos assim:

    Mas o certo seria:

    2010

    * É um prazer trabalhar na Meta (Julho)
    * depoimento 2 (Junho)

    2009

    * Interação 2009 (maio)

    Criador do tópico quadrochave

    (@quadrochave)

    Cada link deve ir direto para um post, e não linkar para uma listagem de posts

    Criador do tópico quadrochave

    (@quadrochave)

    Onde eu colocaria o yaerly?
    assim não dá:
    <?php //wp_get_archives('yearly'); ?>
    pois dessa forma ira listar os meses de posts.

    eu quero que liste os posts e não o mes que contem os posts. Não quero link para arquivos de posts e sim um link para cada post, ou seja, a listagem terá o link de cada artigo do mes:

    2010
    link do post 7
    link do post 6
    link do post 5

    O wp_get_archives() faz isso:

    2010
    link da pagina de arquivos dos posts do mes de julho
    link da pagina de arquivos dos posts do mes de junho
    link da pagina de arquivos dos posts do mes de maio

    Tente:
    <?php wp_get_archives( array('type' => 'yearly') ); ?>

    Criador do tópico quadrochave

    (@quadrochave)

    Não serviu, porque esta função retorna a páginas de arquivo

    deixei assim

    Só queria adicionar condicionais para que não repetisse o ano, caso os posts fosem do mesmo ano. Queria apenas que quando acabassem os posts do ano, o wordpress fechasse o

      exibindo o próximo ano, e não exibindo sempre para cada mês.

    [ultimo ano]
    [post do ultimo mes]
    [post do penultimo mes]
    .
    .
    [post do primeiro mes]

    ***Vou tentar descrever mais ou menos a lógica que eu penso:
    (if post deste ano acabou : )

      pega ano anterior

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Listar links de artigos agrupados por ano’ está fechado para novas respostas.