Sou um grande fã da classe WP_Query: eu a uso em vários sites de clientes para buscar e exibir dados de uma forma personalizada.

Se você quiser usar vários loops em uma página, a melhor maneira de fazer isso é executar "WP_Query" sempre que precisar fazer um loop.

Mas há uma desvantagem: sempre que o WordPress executa um loop, ele envia consultas ao banco de dados, o que leva mais tempo e pode desacelerar o seu site.

Neste tutorial, mostrarei como usar uma consulta para mais de um loop. Você pode fazer isso com a consulta principal ou pode usar a mesma técnica com WP_Query.

Vamos explorar aspectos 3:

 

  • Crie um tema filho e um arquivo de modelo.
  • Crie uma peça de modelo para o conteúdo do loop.
  • Crie nossos loops.

 

Mas antes de descobrirmos juntos Como instalar um blog WordPress passos 7 et Como encontrar, instalar e ativar um tema WordPress em seu blog 

Então, voltemos ao porquê de estarmos aqui.

O que você precisa

Para seguir este tutorial, você vai precisar de:

 

  • De uma instalação do WordPress para desenvolvimento (localmente).
  • Um editor de código.
  • Artigos em seu site com várias categorias atribuídas
  • o tema vinte e dezesseis do WordPress
  • Um tema filho de vinte e dezesseis instalado e ativado

 

Esta técnica também se adapta à sua situação e ao seu tema WordPress.

Criando um tema filho

Primeiro, vamos criar o tema filho de vinte e dezesseis. Estou fazendo isso porque não quero mudar o tema pai.

Discover Como instalar um tema criança WordPress

Na sua pasta "wp-content / themes", crie uma nova pasta vazia, que você chamará de "tutor-theme". Mais tarde, você pode escolher o nome que mais lhe convier.

Nesta pasta, crie um arquivo chamado style.css e adicione o seguinte código:

/*

Nome do Tema: Tema Tuto

URI do tema: https://blogpascher.com

Descrição: Tema para dar suporte ao Tutorial sobre a execução de vários loops ao consultar o banco de dados apenas uma vez. Tema filho para o tema Twenty Sixteen.

Autor: Hervé

Autor URI: https://blogpascher.com

Predefinição: twentysixteen

Versão: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Agora salve este arquivo e ative seu novo tema WordPress.

A próxima etapa é criar um arquivo de modelo para as categorias, é nisso que estaremos trabalhando.

Faça uma cópia do arquivo “archive.php” do tema WordPress “Vinte e dezesseis.” Não o mova, mas faça uma cópia dele. Renomeie-o como “categoria.php”.

Para ir além, descubra Como gerenciar arquivos e pastas WordPress

Agora, esse será o arquivo de modelo para as categorias do seu site.

Criando um novo arquivo de modelo

A primeira etapa é criar um novo arquivo de modelo em nosso tema que conterá uma versão modificada do loop "vinte e dezesseis".

Vamos também consultar juntos Como colocar seu site WordPress no modo Manutenção

Na pasta do tema filho, crie uma subpasta chamada "inclui". E por dentro, crie um novo arquivo chamado "loop-category.php".

Em seguida, abra o arquivo "template-parts / content.php" nas pastas do tema pai (vinte e dezesseis) e encontre o seguinte código:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 

 / * tradutores:% s: nome da postagem atual * /

 the_content (sprintf (

 __ ('Continue lendo '% s ' ', 'vinte e dezesseis'),

 get_the_title ()

 ));

 

 wp_link_pages (matriz (

 'antes' => ' '. __ ('Páginas:', 'vinte e dezesseis'). ' ',

 'depois de' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Página', 'vinte e dezesseis'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * tradutores:% s: nome da postagem atual * /

 __ ('Editar '% s ' ', 'vinte e dezesseis'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Copie esse código no novo arquivo "loop-category.php" do tema filho.

Editando o arquivo de parte do modelo

O loop "vinte e dezesseis" mostra mais do que eu preciso, então irei modificar este código. Eu só quero mostrar o snippet e não o conteúdo, então vamos remover o conteúdo.

Qual é a diferença entre H1 e o título de SEO de um artigo do WordPress? Descubra consultando este artigo.

No seu novo arquivo loop-category.php, encontre este código e exclua-o:

<div class = "entry-content">

 

 / * tradutores:% s: nome da postagem atual * /

 the_content (sprintf (

 __ ('Continue lendo '% s ' ', 'vinte e dezesseis'),

 get_the_title ()

 ));

 

 wp_link_pages (matriz (

 'antes' => ' '. __ ('Páginas:', 'vinte e dezesseis'). ' ',

 'depois de' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Página', 'vinte e dezesseis'). ' %',

 'separator' => ' , ',

 ));

 ?>

A outra etapa é substituir a função "vigésimo-dezesseis_excerpt ()" pela função "the_excerpt ()", porque a versão vinte e dezesseis não fornece um link para o artigo completo.

Veja também Como visualizar os artigos recentes em uma categoria específica

Encontre esta linha:

Substitua por:

Também precisamos fazer algumas alterações nas tags de título.

Na parte do modelo, altere a linha:

', esc_url (get_permalink ())),' '); ?>

Edite as tags H2 para H3:

', esc_url (get_permalink ())),' '); ?>

Registre seu modelo. Em seguida, volte ao seu arquivo category.php e continuaremos com ele.

Criando loops

Em primeiro lugar vamos remover a inclusão do código "vinte e dezesseis" do nosso arquivo "category.php", pois precisaremos usar o novo arquivo.

No seu arquivo category.php, encontre este código:

get_template_part ('template-parts / content', get_post_format ());

E exclua o.

Então, criaremos os loops.

Neste exemplo, exibirei todas as postagens com a tag "content", usando a tag condicional "has_tag ()". Isso significa que terei que passar por três loops:

 

  • A primeira verificação se a consulta postou itens com essa tag.
  • Nesse caso, o segundo exibe os artigos com esse rótulo.
  • Um terceiro exibe artigos sem essa tag.

 

Entre cada loop, usarei rewind_posts () para retroceder as mensagens sem redefinir a consulta: sempre trabalhamos com a consulta principal.

O primeiro loop: verificação de artigos

No seu arquivo "category.php", localize o início do loop:

while (have_posts ()): the_post ();

Acima desta linha, defina uma nova variável chamada $ count:

$ Count = 0;

Então, dentro desse loop, adicione este código:

// verifique se há alguma postagem com a tag »

$ tag = 'conteúdo';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Este código verifica se as mensagens têm o rótulo "conteúdo" e adiciona 1 ao contador se tiver.

O interior do loop será semelhante a este:

// Verifique as postagens no primeiro loop.

$ Count = 0;

while (have_posts ()): the_post ();

 

// verifique se há alguma postagem com a tag »

$ tag = 'conteúdo';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

EndWhile;

O segundo loop: restaurar artigos com a tag

A próxima etapa é fazer um loop para exibir artigos com esta tag, apenas se houver algum.

Por exemplo, se o valor de $ count for maior que 0.

Descubra também Como personalizar o painel do WordPress para um cliente

Adicione esta condição ao loop:

if ($ count> 0) {

 

 rewind_posts ();

 

 eco ' Postagens marcadas com '. $ tag. ' ';

 

 

 while (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('inclui / loop', 'categoria'); 

 }

 

 // Finalize o loop.

 EndWhile;

 

}

Esse código verifica se $ count é maior que zero e, se for o caso, rebobina os itens e executa o loop novamente. Para cada item, ele verifica se possui nossa etiqueta e, se houver, chama a parte do modelo que acabamos de criar.

O terceiro loop: veja o restante dos artigos

A saída será um loop final nos artigos restantes. Se esta categoria não tiver um artigo com a tag “conteúdo”, ela exibirá todos os artigos da categoria.

Aprenda também Como criar um blog multi-autor e permitir que seus leitores para publicar artigos em seu blog

No seu segundo loop, adicione isto:

rewind_posts ();

 

 

// Segundo Loop - posts sem a tag 'content'

while (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('inclui / loop', 'categoria'); 

 }

 

// Finalize o loop.

fim; ?>

Este último código retrocede os artigos e, em seguida, executa o loop novamente. Desta vez, ele verifica se um artigo não possui a tag “content”, então exibe o conteúdo na “parte do modelo”.

Sugerimos também que você descubra Como adicionar uma impressão artigos de opções sobre WordPress

Agora você pode testar a página de artigos do seu blog. Lembre-se de que você pode alterar os filtros. Neste tutorial, usamos o "conteúdo" como um filtro de etiquetas, mas você pode usar o de sua escolha.

Descubra também alguns plugins premium do WordPress  

Você pode usar outro WordPress plugins para dar uma aparência moderna e otimizar o manuseio do seu blog ou site.

Oferecemos a você aqui alguns plugins premium do WordPress que ajudarão você a fazer isso.

1. Social Wall Addon para UserPro

UserPro pode ser muito mais divertido com uma parede social. É isso que traz a extensão do Social Wall. Com o plugin Social Wall, você pode criar um mural em seu site e fornecer aos seus membros uma maneira renovada de interagir com a comunidade.

Le WordPress Plugin O Mural Social permite que seus usuários: compartilhem mensagens uns com os outros, compartilhem imagens, comentem as postagens de outras pessoas, os usuários podem gostar ou não de uma mensagem, eles podem optar por exibir o mural apenas para usuários logados ou para todos os usuários, os administradores podem excluir postagens ou comentários de usuários etc.

Descarregar | Demo | hospedagem na web

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus é um WordPress Plugin módulo que conecta seu site WordPress à API de afiliados do Flipkart. 

Ce WordPress Plugin Torna muito fácil importar dados de produtos do Flipkart e atualizá-los diretamente no seu site. Flipkart Affiliate Plus é o primeiro plugin WordPress para a API oficial do Flipkart. Ao usá-lo, você não precisará usar uma API de terceiros. Assim, você se beneficia plenamente do seu trabalho.

Descarregar | Demo | hospedagem na web

3. Google Analytics acionável para o WooCommerce

O Actionable Google Analytics é um plug-in WordPress que permite usar alguns dos melhores recursos do Universal Analytics, incluindo: comércio eletrônico avançado e rastreamento de ID de usuário. Além disso, este plugin suporta a anonimização de endereços IP, reembolsos de produtos, agrupamento de conteúdo, rastreamento de formulário, etc.

Ao usar este plug-in do WordPress, você economizará tempo na integração de códigos complexos do Google Analytics para poder se concentrar no gerenciamento de seus dados.

Suas principais características são: instalação rápida e fácil, acesso a 9 relatórios de e-Commerce aprimorados, capacidade de estudar como diferentes dispositivos são usados ​​pelo mesmo usuário e como as compras são feitas, a capacidade de analisar quais produtos são reembolsados ​​com mais frequência, finalmente tomar medidas corretivas e muito mais.

Descarregar | Demo | hospedagem na web

Outros recursos recomendados

Também convidamos você a consultar os recursos abaixo para aprofundar o controle e controle do seu site e blog.

 

 

Conclusão

Aqui ! Isso é tudo para este tutorial bastante técnico. Espero que tenhamos sido explícitos sobre como usar corretamente WP_Query no WordPress. sinta-se livre para compartilhe a dica com seus amigos em suas redes sociais.

No entanto, você também poderá consultar nossos Ressources, se você precisar de mais elementos para realizar seus projetos de criação de sites da Internet, consultando nosso guia no site Criação de blog WordPress.

Mas enquanto isso, conte-nos sobre o seu Comentários e sugestões na seção dedicada.

...