Loop WordPress: o que é e o que você precisa saber sobre ele

Publicados: 2023-10-25

Se você é um desenvolvedor de temas WordPress, um programador ou apenas um entusiasta ansioso para aprender o que é um loop WordPress, este artigo é para você! Sem mais delongas, vamos começar com o básico: O que é um loop?

O loop do WordPress é um código PHP que mostra postagens do WordPress ou simplesmente; ele é usado em vários temas para exibir postagens em qualquer página da web. Além de ser executado na maioria das páginas que você vê, também permite que você o modifique e personalize de acordo com sua preferência.

Esses loops de site podem ser usados ​​para listar postagens por contagem de comentários, mostrar postagens com imagens e assim por diante.

Ao observar o loop, você pode ver que algumas funções são executadas por padrão para mostrar as postagens. Os desenvolvedores de temas podem usar essas funções e tags de modelo para personalizar como cada postagem no loop é mostrada.

Essas tags de modelo funcionam apenas dentro do loop padrão do WordPress e são usadas para formatar, organizar e publicar dados de postagem.

O loop do WordPress é sem dúvida a parte mais importante do código do WordPress, e vamos nos aprofundar em como o seu site faz o loop.

Loop de página WordPress para iniciantes

Como já mencionamos, o post loop é um código que exibe todas as informações que o WordPress possui sobre uma postagem ou postagens. Ele é executado em segundo plano em cada postagem e encontra o banco de dados um por um, o que permite fornecer informações sobre todas as postagens encontradas.

Aqui está um exemplo de como funciona o loop do WordPress pelas postagens:

  1. você inicia o loop,
  2. agir com cada postagem ou página encontrada,
  3. fechar o ciclo.

Essas três etapas representam a lógica básica por trás do loop. A partir deste ponto, você pode ser criativo e filtrar as postagens encontradas usando a consulta. A consulta informa ao loop o que estamos procurando. No nosso exemplo, ficaria assim:

  1. definir o que procuramos,
  2. iniciar o ciclo,
  3. agir com cada postagem ou página encontrada,
  4. fechar o ciclo.

Se você tem experiência com código PHP, deve estar familiarizado com a função “while” que é usada em loops para executar a consulta do banco de dados e exibir dinamicamente as informações sem ter que inserir manualmente cada linha do banco de dados.

O loop while do WordPress funciona da mesma maneira.

Exemplo de loop padrão do WordPress

Abaixo está um exemplo de loop padrão do WordPress que pode ser usado em qualquer página.

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
// Post display here
<?php endwhile ?>
<?php else : ?>
// Content if there are no posts to show
<?php endif ?>

Dê uma olhada nas funções have_posts() e the_post() . O primeiro determina se há postagens para mostrar, e o segundo configura dados e ponteiros internos que auxiliam a função have_posts() .

Se não houver nada para mostrar, a função deverá exibir uma mensagem informando aos usuários.

Se houver as postagens que procuramos, o loop irá exibi-las uma por uma.

Aqui, tenha um bloco de código que vai realmente mostrar as postagens, é por nossa conta!

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><a href='<?php the_permalink() ?>'><?php the_title() ?></a></h2>
<div class='post-excerpt'>
<?php the_excerpt() ?>
</div>
<div class='post-meta'>
<time><?php the_time( 'Ymd' ) ?></time>
<?php if ( has_category() ) : ?>
<span class='post-categories'><?php the_category( ', ' ) ?></span>
<?php endif ?>
</div>
</div>
<?php endwhile ?>
<?php else : ?>
<h2>There are no posts here</h2>
<p>Do you want to go back to the <a href='<?php echo site_url() ?>'>home page?
<?php endif ?>

O conteúdo mostrado aqui é determinado pela consulta da qual já falamos, e a forma como esse conteúdo é mostrado depende do loop. Essa quantidade de personalização é incrível e é o que faz o WordPress se destacar.

Bom trabalho! Agora você sabe o que é um post loop!

Usando código para alterar a consulta principal

Antes de começarmos, devemos avisá-lo que alterar a consulta principal pode ter consequências indesejadas se você não souber o que está fazendo. Tenha cuidado ao experimentar!

Temos que examinar os ganchos se quisermos modificar a funcionalidade principal. Os ganchos nos permitem alterar o comprimento do texto, alterar a tela de login, reformular mensagens de erro, alterar tipos de postagem personalizados e muito mais.

add_action( 'pre_get_posts', 'my_exclude_category' );
function my_exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-92' );
}
}

Observe que usamos o gancho pre_get_post para modificar o parâmetro da consulta principal antes de sua execução. O código acima faz a mesma coisa que o anterior, mas desta vez exclui a categoria 92 da nossa página inicial. Portanto, a consulta principal é modificada

Dê uma olhada nas funções is_home() e is_main_query() . Eles estão aqui para garantir que a consulta seja modificada apenas na página inicial e se for a consulta principal.

Aqui está outro código que pode ser útil em um loop de blog WordPress.

Digamos que um autor do seu site tenha plagiado parte (ou todo) de seu conteúdo e você deseja remover todas as postagens dele permanentemente ou até que o problema seja resolvido.

Isso pode ser feito adicionando um código como este:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
$query->set( 'author', '-23' );
}

Com esta função condicional você remove a postagem do autor do seu site e do seu backend. Você pode encontrar todas as tags condicionais no WordPress Codex. Esta é a aparência do último código no final:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
if( !is_admin() ) {
$query->set( 'author', '-23' );
}
}

Perguntas frequentes sobre o loop do WordPress

Qual é o loop do WordPress, afinal?

Oh cara, isso me leva de volta! Portanto, em sua essência, o loop do WordPress é o mecanismo do WP que exibe o conteúdo do banco de dados do seu site.

É o coração de muitos modelos WP e informa ao sistema quais postagens ou páginas mostrar e em que ordem. Pense nele como o DJ da sua festa WordPress, escolhendo as músicas (ou postagens) certas para seus convidados.

Por que o loop é tão essencial no desenvolvimento do tema?

Ah, desenvolvimento de tema , sempre um quebra-cabeça divertido! O loop é como a espinha dorsal de um tema WordPress. Sem ele, seu tema seria um filme mudo sem enredo.

Ele busca o conteúdo com base nos parâmetros WP_Query e, por meio de tags de modelo , você pode personalizar o que e como o conteúdo é exibido. Já ouviu falar de temas com estilos especiais para determinados posts? Sim, essa é a mágica do loop em ação.

Como o WP_Query se relaciona com o loop?

Tudo bem, mergulhe comigo aqui. WP_Query é a classe que define e busca o conteúdo. O loop então passa pelos resultados retornados por WP_Query.

Pense no WP_Query como o chef que prepara os pratos, enquanto o loop os serve aos seus convidados. E com taxonomias e tipos de postagem personalizados , este chef pode preparar uma variedade impressionante de pratos!

Qual é a diferença entre have_posts() e the_post()?

Pergunta clássica! have_posts() verifica se ainda há postagens na consulta para percorrer. É como perguntar: “Ei, mais alguma música nessa playlist?”

Enquanto isso, the_post() configura a postagem atual, então você está pronto para exibir seus detalhes. É como apertar o play na próxima faixa. Ambos são super cruciais na dança do loop.

Como posso personalizar quais postagens aparecem no loop?

Ah, o poder da personalização! Para alterar quais postagens aparecem, você ajusta os parâmetros WP_Query ou usa o filtro pre_get_posts .

Quer seja um loop de categoria , um loop de tag ou qualquer outra consulta personalizada , há muito que você pode fazer. Quer mostrar postagens de uma determinada categoria? Ou talvez classificá-los por um campo personalizado ? O mundo é sua ostra!

Posso ter vários loops em uma página?

Pode apostar! Vários loops são uma coisa, especialmente quando você deseja seções diferentes, como uma lista principal de artigos seguida por uma barra lateral com postagens recentes.

Você só precisa redefinir o loop com wp_reset_postdata() após cada WP_Query personalizado. E com peças de modelo , fica ainda mais organizado. Apenas lembre-se de não exagerar – ninguém gosta de uma festa bagunçada!

O que são tags condicionais no contexto do loop?

Portanto, as tags condicionais são os guardiões do loop. Eles permitem que você controle onde e quando determinado conteúdo é exibido.

Você pode usá-los para mostrar um conteúdo apenas em postagens únicas ou talvez apenas em uma determinada taxonomia . Eles são como seguranças do seu clube WP, decidindo quem entra com base na lista de convidados.

Como adiciono paginação ao loop?

Ah, paginação, a arte de não sobrecarregar os visitantes! Ao usar funções de paginação , você pode dividir suas postagens em várias páginas.

Em vez de mostrar uma lista interminável de postagens, dê uma pausa aos seus usuários. Funções como paginate_links() ou os clássicos links “próximo e anterior” ajudam aqui. Porque, sejamos realistas, ninguém quer rolar para sempre.

Por que eu precisaria modificar a consulta principal?

Um bom! Às vezes, as configurações padrão simplesmente não funcionam. Talvez você queira que sua página inicial mostre apenas um tipo específico de postagem personalizada ou exclua determinadas categorias.

Ao usar a ação pre_get_posts , você pode ajustar a consulta principal sem escrever uma nova. É como ajustar as configurações principais do seu aparelho de som para obter o som perfeito.

O que acontece se houver um problema com meu loop?

Ufa, já estive lá! Se houver um problema no loop, seu site poderá não mostrar nenhum conteúdo ou, pior ainda, gerar erros. Sempre faça backup antes de mexer. Verifique seus parâmetros WP_Query e hierarquia de modelos .

E se tudo mais falhar, o WordPress Codex e os fóruns da comunidade são minas de ouro para solução de problemas. Lembre-se de que todo desenvolvedor enfrenta um loop problemático pelo menos uma vez. Você conseguiu isso!

Encerrando as reflexões sobre o loop do WordPress

Usar o loop do WordPress é uma ótima maneira de personalizar suas postagens, páginas ou, simplesmente, seu site. O loop requer que você tenha um conhecimento básico de como o WordPress funciona e da lógica do código.

A menos que você queira fazer um teste rápido, não recomendamos o uso da função query_posts(). Você pode usar vários ganchos caso precise modificar a consulta original. Sempre tenha cuidado ao alterar o código de loop do WordPress.

Esperamos que este artigo tenha sido um bom primeiro passo para dominar o loop do WordPress!

Se você gostou deste artigo sobre o loop do WordPress, você também deve ler estes:

  • Erro 504 no WordPress: como corrigi-lo
  • 12 dicas para criar um plugin ou tema WordPress Premium de sucesso
  • Como aproveitar o cache do navegador no WordPress? Passos a seguir