Supercarregue suas categorias do WordPress com plugins gratuitos
Publicados: 2022-02-16Recentemente eu estava pensando no processo de fazer um site de viagens. Teríamos postagens no blog sobre resorts específicos e, em seguida, uma taxonomia personalizada chamada Destinos, que conteria coisas como “Havaí” e “Ilhas Canárias”. O WordPress foi construído para esse tipo de coisa, então classificar e organizar postagens por esses destinos é rápido e fácil.
O problema é que, quando vou a uma página de arquivo de postagens sobre o Havaí, por exemplo, nossas opções de informações sobre o Havaí são bastante limitadas. Por padrão, os termos só podem ter um Nome, uma Descrição de texto simples, Slug e um Pai relacionado.
O que eu realmente quero é uma imagem em destaque, campos personalizados e um campo de descrição dinâmico. Eu poderia obter todas essas coisas se transformasse Destinos em um tipo de postagem personalizado, mas estaria rompendo com os maravilhosos relacionamentos incorporados, interface do usuário e velocidade de uma taxonomia.
Felizmente, podemos obter todas essas coisas para termos de taxonomia, e podemos fazer isso com plugins gratuitos. Aqui está como.
Imagem em destaque
Eu quero uma imagem em destaque para que eu possa renderizá-la no topo da minha página de termo. Posts com o termo do Havaí terão uma bela cena de praia no topo.
Para isso vamos usar o plugin “Simple Featured Image”. Ele não foi atualizado em um tempo, mas ainda funciona muito bem.
O SFI cria uma página de configurações no menu Configurações e nela você define em qual taxonomia você deseja que ela apareça. Não se esqueça disso, ou você ficará terrivelmente confuso sobre como usá-lo!
Depois de instalado e ativado, no formulário para novos Termos e Termos existentes, você verá um campo como este:
Quando você clica no botão Carregar/Adicionar, ele abre a interface de usuário normal da biblioteca de mídia do WordPress e define uma imagem em destaque, assim como em uma postagem.
Depois de selecionar uma imagem, ela se parece com isso:
E, em seguida, na página de administração da lista de termos, você verá algo assim:
E então temos uma imagem em destaque!
Descrição dinâmica
O campo de descrição para Termos é texto simples, o que não é ruim, desde que você não queira nada mais interessante. Eu gosto de adicionar o editor TinyMCE que costumava ser o padrão no WordPress. Para isso, usaremos o plugin “Visual Term Description Editor”.
IMPORTANTE: O plugin Yoast SEO também habilita esse recurso. Se você já estiver usando o Yoast, não precisa disso. Se você não estiver usando o Yoast, não o instale SOMENTE para este recurso.
Não há configurações para este plugin, ele simplesmente faz com que todas as descrições de termos em todas as taxonomias tenham o editor TinyMCE. Se parece com isso:
E, em seguida, a página principal de administração da lista de termos se parece com isso:
Agora temos uma imagem em destaque e descrições melhores, mas também quero alguns campos personalizados. Veja como faremos isso.
Os campos personalizados
O Termo Meta existe como um recurso no WordPress há algum tempo, mas usá-los ainda é um pouco trabalhoso. Há um artigo maravilhoso na Smashing Magazine sobre como construí-los você mesmo com código.
Você também pode usar a maioria das bibliotecas de campos personalizados comuns, como MetaBox.io e CMB2, para ainda fazer isso com código, mas de maneira suave e padronizada.
Para este post, vamos escolher a maneira mais fácil, que são os Campos Personalizados Avançados. Estamos usando a versão gratuita encontrada no WordPress.org. A versão pro obviamente funcionaria também.
Se você já estiver familiarizado com o ACF, para obter campos personalizados nos Termos, seu local deve ter esta aparência:
Eu adicionei um grupo de campos chamado Destination Details, com um campo padrão do tipo “URL” assim:
E no editor de termos fica assim:
Mais campos personalizados
Não adicionei mais para meus exemplos, mas tenho certeza que se você estiver familiarizado com o ACF ou qualquer outro gerenciador de campo personalizado, pode imaginar o poder. Aqui estão alguns outros exemplos de campos personalizados que você pode adicionar:

- Coordena os campos para que você possa renderizar um mapa do Google
- Um campo de mapa real você pode simplesmente clicar para obter as coordenadas
- Meta informações sobre o Destino como população, qualidade das estradas, acesso ao aeroporto internacional, detalhes culturais importantes, etc.
A lista vai até onde sua imaginação pode levar.
Usando esta informação
Agora que seus Termos de taxonomia são centrais de informações, como você vê essas informações em seu site?
Fazendo um arquivo de modelo
Para este, você criará e editará um arquivo de modelo. A maioria dos temas modernos tem um arquivo chamado archive.php , e este é o arquivo que renderiza seu arquivo Post. Alguns temas também possuem um arquivo chamado category.php , e este arquivo é usado para mostrar um arquivo de posts em categorias específicas.
Se você adicionou todos os campos acima à taxonomia de categoria padrão associada a Posts, você desejará fazer esta próxima parte em category.php . Se não existir, você pode copiar archive.php para category.php .
Se você estiver usando uma taxonomia personalizada como eu fiz, você vai querer copiar o category.php ou archive.php para taxonomy-{taxonomy}.php , onde {taxonomy} é o slug da sua taxonomia. Você pode encontrar o slug acessando a página de administração da Taxonomy e procurando na URL. Eu fiz uma taxonomia de Destinos, mas meu slug é travel_destination e se parece com isso:
Então meu arquivo de modelo é chamado taxonomy-travel_destination.php .
Obtendo as informações
Imagem em destaque
O plugin que usamos tem uma função personalizada para obter a imagem. Você pode exibir a imagem em destaque da taxonomia no front end usando esta função php.
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
Parâmetros:
- $termID – (Inteiro) Taxonomia termID
- $size – (String) Tamanho da imagem
- $class – (String) Adicionar classe personalizada
- $width – (Inteiro) Largura em px
- $height – (Inteiro) Altura em px
Descrição
Nós realmente não mudamos como a descrição funciona, apenas o que podemos digitar no formulário. Portanto, as funções padrão do WordPress funcionam para imprimir as descrições.
get_the_archive_description() obterá a descrição e permitirá que você a coloque em uma variável ou a processe com uma função de sanitização ou algo assim. Então você imprimiria essa variável assim:
$description = get_the_archive_description(); print wp_kses_post( $description );
$description = get_the_archive_description(); print wp_kses_post( $description );
Alternativamente, você pode simplesmente usar the_archive_description() que irá ecoar o conteúdo para você.
Os campos personalizados
Como você obtém seus campos personalizados depende de como você os criou. Se você criou seu próprio plugin, seguindo as instruções daquele artigo da Smashing Magazine, você vai querer usar uma função do WordPress chamada get_term_meta() que funciona exatamente como get_post_meta() . Você passa um TermID, a chave do campo desejado e um sinalizador para mostrar se é singular ou plural.
Se você usou uma biblioteca como ACF, Metabox.io ou CMB2, provavelmente desejará usar suas funções personalizadas para obter dados.
Por exemplo, usamos o ACF para criar um campo chamado more_information. Para obter o conteúdo desse campo, você usaria algo assim:
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
CMB2 e Metabox.io têm seus próprios métodos, você vai querer pesquisá-los em sua documentação.
Resumo
Então agora no meu site de viagens imaginário, cada local, como o Havaí, vai ter um lindo banner no topo, informações sobre o destino e algumas informações extras, como um link para obter mais informações, e qualquer outra coisa que eu queira colocar dentro.
Isso transforma suas páginas de arquivo de uma simples lista de postagens em algo que se parece com uma página da web bem projetada.