Understanding “the Loop” in WordPress

Loop

este artigo faz parte de uma série criada em parceria com SiteGround. Obrigado por apoiar os parceiros que tornam SitePoint possível.

ao discutir o WordPress, e especificamente o desenvolvimento de temas (ou a criação de novos modelos de página dentro de um tema existente), você inevitavelmente vai correr contra “o Loop”. O Loop é o quadro dentro do qual o WordPress constrói o conteúdo para qualquer página dada que o usuário visita, seja uma home page estática ou uma vista de blog mostrando posts recentes, ou qualquer coisa no meio. Pode parecer um pouco complexo, mas na verdade, é apenas um mecanismo de looping.

o Loop, na sua forma mais simples, é uma estrutura de looping como qualquer outra na programação. Itera através do que equivale a uma lista de todo o conteúdo do seu site, ciclizando através de suas mensagens ou páginas, e obtendo o conteúdo solicitado deles. No seu mais complicado, você pode executar o Loop várias vezes, obter apenas certos itens de certas categorias, apenas itens não em certas categorias, aqueles publicados dentro de um intervalo de data, ou com outras informações de identificação particular.

cada modelo de página dentro de um tema WordPress provavelmente conterá o Loop. É uma maneira que o modelo pode procurar e adquirir conteúdo de suas páginas e posts, que são armazenados na base de dados. Vamos dar uma olhada em alguns detalhes:

a Basic Example of the Loop

<?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // Post Content here }}?>

you can see in the above example that it’s really a pretty straightward setup. A coisa inteira começa com um condicional ,com have_posts verificação para garantir que existem, de fato, quaisquer posts para encontrar. Em seguida, o loop acontece – enquanto ainda existem posts (novamente usando have_posts), itera através do próximo post e chama-se the_post – que se refere ao que está sendo iterado através.

consultas particulares

se as suas necessidades são mais avançadas do que simplesmente devolver cada post que há em seu site, você terá que limitar suas consultas. É aqui que a WP_Query entra em jogo.

filtragem por categoria

no exemplo abaixo, modificado a partir de um exemplo no Codex, vamos pesquisar por posts que estão na categoria que tem o id de 4. Então, você pode ver uma amostra do conteúdo do laço em si. Aqui, nós verificamos para posts com um ID de categoria de 4, então, dentro do .post div, nós mostramos o título do post( ligado ao post), a data do post, o conteúdo do post, e os metadados do post.

<!-- Query for posts which are in category 4 --><?php $query = new WP_Query( array( 'cat' => 4 ) ); ?><!-- Begin The Loop --><?php if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?> <div class="post"> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <small><?php the_time( 'F jS, Y' ); ?> by <?php the_author_posts_link(); ?></small> <!-- Display the post content --> <div class="entry"> <?php the_content(); ?> </div> <!-- Display the post metadata --> <p class="postmetadata"><?php _e( 'Posted in' ); ?> <?php the_category( ', ' ); ?></p> </div> }}

o uso de WP_Query pode levar a alguns resultados muito personalizáveis. Você pode incluir posts de apenas uma categoria, ou vários, ou incluir todos, exceto aqueles de uma categoria ou outra. Você pode pesquisar e devolver posts que contêm uma palavra-chave, ou localizar posts por ID, usar o post_type para mostrar apenas dados de páginas, e muito mais. Se você quiser aprender com mais profundidade sobre WP_Query, dê uma olhada na documentação WP_Query.

dica: você pode obter o número de ID de uma categoria de várias maneiras. Uma maneira fácil é ir para “Posts”, em seguida,” categorias ” em seu wp-Admin. Clique com o botão direito no nome da categoria desejada na lista, e salve a URL. Em seguida, colá-lo em um editor de texto ou bloco de notas em algum lugar e dar uma olhada. Como exemplo, pode parecer algo assim: http://example.com/wp-admin/term.php?taxonomy=category&tag_ID=4&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory – você está procurando o número tag_ID!

filtragem por valores de campo personalizados

os campos personalizados que estão disponíveis no WordPress podem ser fantasticamente úteis, e você pode às vezes também precisar de filtrar posts pelos valores definidos nesses também. Uma tarefa simples, mas vale a pena mostrar para começar WordPress desenvolvedores (ou aqueles que não se aprofundaram muito em modelos personalizados ou o Loop) para perceber o quão customizável tudo isso é. Diga que tem um campo personalizado department e que está à procura de publicações com o valor marketing:

$query = new WP_Query( array('meta_key' => 'department', 'meta_value' => 'marketing') );

compreender “o laço”

a melhor maneira de entender o laço é simplesmente usá-lo. Use-o para obter o seu conteúdo nos modelos que cria para temas, ou no código que personaliza nos modelos existentes nos temas existentes. Quando você quer fazer alguma coisa, filtre para certos critérios, execute o Loop novamente – verifique a documentação do Loop no Codex, ou clique no Google para obter ideias. O céu é o limite!

se você está procurando um lugar para hospedar o seu site WordPress depois que você tem seus modelos construídos e o Loop tudo pensado, dê uma olhada em nosso parceiro, SiteGround. Eles têm hospedagem WordPress acessível disponível, com um clique instalação, ambientes de estadiamento, e muito mais!

Deixe uma resposta

O seu endereço de email não será publicado.