Exibindo a lista dos artigos da próxima página

junho 21, 2007 · Filed Under Wordpress 
SOS Wordpress

Lu

O get_posts é ótimo mesmo - é a função que uso para gerar a lista de artigos mais recentes, coisa que fazia com plugin antigamente. Só fiquei frustrada quando tentei sem sucesso usar a função para criar uma lista de “artigos na página seguinte”, como no blog do Fábio Seixas.

O Fábio, usa o Movable Type , e não o Wordpress, uma pesquisada rápida no Google e não achei nenhum plugin pronto para isso no WP.

Mas como havia falado com a Lu, sabia que era possível.

Pesquisando outra coisa no codex, me veio a luz de como fazer.

Existe um parâmetro para o query_posts chamado offset, que indica, a partir de quantos artigos deve começar a contagem do limite a ser exibido.

Tentei usar esse mesmo parâmetro no get_posts e funcionou corretamente.

Para exibir a lista de artigos da próxima página, é necessário colocar o código abaixo na sidebar:

PHP:
<?php if (is_home()) { ?>
<h2>Próxima Página</h2>
<ul>
<?php $pp_posts = get_posts('offset=5&numberposts=5'); foreach($pp_posts as $post) : setup_postdata($post);
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Link para <?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php } ?>

O código acima, exibirá a lista de 5 artigos começando a contar depois do 5º, em relação ao loop atual.

Coloquei para exibir só na home, mas a restrição pode ser removida e exibir a lista em todas as páginas, apagando as primeira e a última linha.

Escolhi 5, pois é o número de artigos que eu exibo em cada página, basta alterar o valor para o número de artigos exibidos por página.

Para quem utiliza o Sidebar Widgets, pode usar o Widgetize Anything e colocar o código abaixo:

PHP:
echo '<ul>';
$pp_posts = get_posts('offset=5&numberposts=5');
foreach($pp_posts as $ppost) {
    setup_postdata($ppost);
    echo '<li><a href="' . get_permalink($ppost->ID) . '" rel="bookmark" title="Link para ' . $ppost->post_title .'">'. $ppost->post_title . '</a></li>';
};
echo '</ul>';


Ainda restam várias perguntas a serem respondidas.
Adorei a receptividade à novidade, espero poder contribuir respondendo a todas as perguntas.
Se sua pergunta ainda não foi respondida, fique atento, que em breve será.
Para quem tem alguma dúvida sobre Wordpress, seja ela qual for, basta usar a página SOS Wordpress para isso.

Compartilhe e Guarde: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Blue Dot



Artigos Relacionados

Comments

10 Comentários

  • At 2007.06.21 04:32, Rodrigo Fante said:

    muito bom!!!

    • At 2007.06.21 05:16, Anderssauro said:

      Estou pensando em ir pro WP, essas dicas valerão muito

      • At 2007.06.21 11:29, Lu said:

        Tentei por aqui, tanto no index.php (fora do loop, claro) quanto no sidebar, mas não apareceu a lista de posts...

        • At 2007.06.21 12:36, Bruno Alves said:

          Rodrigo, obrigado.

          Anderssauro, verá uma diferença enorme :).

          Lu, qual o erro que acontece?

          Consegui fazer funcionar tanto no Diversos quanto por aqui.

          Abraços

          • At 2007.06.21 15:37, Tonobohn said:

            No Oito Passos também não funcionou. Não dá erro nenhum, apenas não aparece a lista de posts.

            • At 2007.06.21 16:01, Tonobohn said:

              Bruno, é um erro simples nessa linha:

              " rel="bookmark" title="Link para ">

              Aqui deixei assim:
              ">

              Só faltou o link antes de fechar a tag :-)

              • At 2007.06.21 16:04, Tonobohn said:

                Argh... como faço pra inserir código php nos comentários? Droga...

                Enfim ... é só adicionar o php the_title(); antes de fechar a tag . Está no lugar errado :-)

                Se puder edite o comentário acima!

                Abraço

                • At 2007.06.21 19:16, Bruno Alves said:

                  Tonobohn, já acertei o código, valeu pela dica.

                  Quando passei do Widgetize Anything (que é o que eu uso) para o método tradicional, esqueci de adicionar o the_title.

                  Quanto ao código o WP comeu.

                  Para postar código PHP nos comentário precisa colocar entre [ PHP ] e [ /PHP ] (sem os espaços).

                  Abraço

                  • At 2007.06.22 12:03, Luiz Aquino said:

                    Oi Bruno, muito bacana a solução, utilizo a algum tempo, é muito bom para separar os assuntos por ordem de prioridade dando destaque a uns e outros...

                    Suas dicas são muito boas

                    Abraços e sucesso...

                    • At 2007.06.22 13:16, Bruno Alves said:

                      Luiz, obrigado.

                      (Required)
                      (Required, will not be published)