Quer desbloquear ainda mais poder de organização no WordPress? Tente adicionar campos de metadados personalizados às suas taxonomias personalizadas.
Taxonomias personalizadas permitem organizar seu conteúdo além de categorias e tags. Mas, às vezes, achamos útil adicionar detalhes e campos adicionais para descrevê-las, e é aí que entram os campos de metadados personalizados.
Neste artigo, mostraremos como adicionar campos de metadados adicionais às suas taxonomias personalizadas no WordPress.

Quando Adicionar Campos de Metadados Personalizados a uma Taxonomia Personalizada?
Ao criar novo conteúdo em seu site WordPress, você pode organizá-lo usando as duas taxonomias padrão, categorias e tags.
Alguns sites se beneficiam do uso de taxonomias personalizadas. Elas permitem classificar seu conteúdo de maneiras adicionais.
Por exemplo, um site que publica resenhas de livros poderia adicionar as taxonomias 'Assuntos' e 'Autores' para que os visitantes possam encontrar rapidamente as resenhas de que se interessam.
Para mais informações, veja nosso guia sobre como criar taxonomias personalizadas no WordPress.
Cada taxonomia tem apenas três ou quatro campos por padrão: nome, slug, pai (se for hierárquica) e descrição.

Às vezes, é útil adicionar campos adicionais para descrever melhor a taxonomia. Por exemplo, você pode adicionar um campo de 'ano de nascimento' a uma taxonomia de 'autores'.
Dito isso, veja como adicionar campos de metadados personalizados a taxonomias personalizadas no WordPress.
Passo 1: Adicionando Campos de Metadados Personalizados a Taxonomias Personalizadas no WordPress
Primeiro, você precisa instalar e ativar o plugin Advanced Custom Fields. Para saber mais, consulte nosso guia passo a passo sobre como instalar um plugin do WordPress.
Em seguida, vá para a página Campos Personalizados » Adicionar Novo. Aqui, você pode adicionar um grupo de campos que contém um ou mais novos campos.
Você será solicitado a dar um título ao grupo de campos, e este será exibido junto com os novos campos ao adicionar ou editar a taxonomia. Neste tutorial, queremos adicionar um campo personalizado à taxonomia Autores, então nomearemos o grupo de campos como 'Detalhes do Autor'.

Depois de fazer isso, você deve clicar no botão '+ Adicionar Campo' para adicionar um campo. Um novo formulário aparecerá onde você pode preencher os detalhes do novo campo.
Assim que você inserir um rótulo de campo, o nome do campo será criado automaticamente para você, e você pode editá-lo se desejar. Você precisará usar o nome do campo mais tarde no tutorial, então anote-o.

Agora você deve preencher os outros detalhes para o campo, como o tipo de campo, instruções para seus autores que preencherão o formulário, e se este campo é obrigatório. Outras opções não mostradas na captura de tela incluem texto padrão, texto de espaço reservado, limite de caracteres e mais.
Se desejar adicionar um segundo campo, clique no botão ‘+ Adicionar Campo’ e repita o processo. Caso contrário, simplesmente role para baixo até a seção Localização.
Aqui, você pode criar regras que descrevem onde exibir o novo campo. Você deve selecionar ‘Taxonomia’ no primeiro menu suspenso e deixar o campo do meio como ‘é igual a’. Finalmente, selecione a taxonomia personalizada correta para o último campo. Neste tutorial, selecionaremos ‘Autor’.

Se você quiser adicionar este campo a outra taxonomia, pode clicar no botão ‘Adicionar grupo de regras’ e repetir o passo.
Agora você deve ajustar quaisquer outras configurações na página. Simplesmente deixaremos os valores padrão. Quando terminar, você deve rolar até o topo da página e clicar no botão ‘Publicar’.

Parabéns, você adicionou com sucesso um campo de metadados personalizado a uma taxonomia personalizada no WordPress. Mas você ainda tem mais trabalho a fazer.
Passo 2: Adicionando Dados ao Novo Campo de Metadados Personalizado
Embora a taxonomia tenha um novo campo, ela ainda não contém nenhum dado. Você deve reservar um tempo para fazer isso agora.
Em nosso exemplo, precisamos inserir o ano de nascimento de cada autor. Para fazer isso, precisamos navegar até Posts » Autores e clicar no nome do autor que desejamos editar.

Depois disso, podemos inserir dados no novo campo. Neste caso, inseriremos o ano de nascimento desse autor. Não se esqueça de clicar no botão 'Atualizar' para armazenar os novos dados.

Você deve seguir os mesmos passos em seu site para adicionar dados à sua taxonomia personalizada.
Quando terminar, ainda há uma etapa a ser seguida. Embora você possa ver o campo personalizado quando estiver logado em sua área de administração do WordPress, os visitantes do seu site não poderão vê-lo. Você precisará adicionar o campo à página de arquivo da taxonomia personalizada.
Passo 3: Exibindo um Campo de Metadados Personalizado na Página de Arquivo da Sua Taxonomia
Nesta etapa, você precisará adicionar código aos seus arquivos de tema. Se você nunca fez isso antes, consulte nosso guia para iniciantes sobre como colar snippets da web no WordPress.
A primeira coisa que você precisa fazer é entrar na pasta do seu tema e procurar o arquivo de arquivo da sua taxonomia. Ele terá um nome como taxonomy-NOMEDASUATAXONOMIA.php.
Por exemplo, se você tem uma taxonomia personalizada chamada ‘autores’, então você precisa procurar por um arquivo chamado taxonomy-authors.php.
Se você não vir esse arquivo, procure por archive.php. Você precisará fazer uma cópia desse arquivo e nomeá-lo como descrito acima.
Observação: Se o seu tema não incluir archive.php, você provavelmente está usando um framework de tema WordPress e terá que criar o arquivo de taxonomia manualmente. Um bom ponto de partida para aprender como criar arquivos de arquivo é o nosso guia sobre como criar páginas de arquivos personalizadas no WordPress.
Agora você precisa adicionar o seguinte código ao arquivo de taxonomia logo antes do loop:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('FIELDNAME', $term);
// display the taxonomy meta field
echo $taxonomymetafield;
?>
Observe que você precisa substituir ‘NOME DO CAMPO’ pelo nome real do campo que você criou acima. Lembre-se, pedimos que você anotasse.
Em nosso exemplo, o nome do campo é ‘ano_de_nascimento’. Também adicionaremos uma descrição, para que nossos visitantes entendam o que o campo significa. Portanto, adicionaremos o seguinte código ao arquivo de taxonomia taxonomy-authors.php:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('year_of_birth', $term);
// display the taxonomy meta field
echo "Year of birth: ";
echo $taxonomymetafield;
?>
Veja como ficou quando testamos em nosso site de demonstração:

Esperamos que este tutorial tenha ajudado você a aprender como adicionar campos de metadados personalizados a taxonomias personalizadas no WordPress. Você também pode querer aprender como adicionar palavras-chave e meta descrições no WordPress, ou conferir nossa lista de plugins essenciais do WordPress para expandir seu site.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


Tarek Anandan
Se você não consegue exibir seus dados e está usando uma versão recente do WordPress, use get_term_meta() em vez de get_tax_meta().
Subin
aqui está meu código:
$config = array(
‘id’ => ‘tax_meta_box’, // id da meta box, único por meta box
‘title’ => ‘Tax Meta Box’, // título da meta box
‘pages’ => array(‘category’), // nome da taxonomia, aceita categorias, post_tag e taxonomias personalizadas
‘context’ => ‘normal’, // onde a meta box aparece: normal (padrão), advanced, side; opcional
‘fields’ => array(), // lista de campos de meta (podem ser adicionados por arrays de campos)
‘local_images’ => false, // Usa imagens locais ou hospedadas (imagens da meta box para adicionar/remover)
‘use_with_theme’ => get_template_directory_uri() . ‘/Tax-Meta-Class/Tax-meta-class’
);
/*
* Inicia sua meta box
*/
$my_meta = new Tax_Meta_Class($config);
// Campo de imagem
$my_meta->addImage(‘image_field’,array(‘name’=> __(‘Minha Imagem ‘,’tax-meta’)));
$my_meta->Finish();
———————————————————————————————————————–
term_id;
$saved_data = get_tax_meta($term_id,’image_field’,true);
echo ”;
echo $term_id; // Exibe ‘1’ que é o ID da categoria
echo $saved_data; // Não exibe nada. Pergunto por quê!!
exit;
?>
James Dower
Eu também estou tendo problemas para obter o caminho de uma imagem carregada. Ele apenas exibe:
Array
…os campos de texto estão bons.
Estou usando:
$prefix = ‘ttp_’;
$my_meta->addImage($prefix.’logo_id’,array(‘name’=> __(‘Logo’,’tax-meta’)));
E na página taxonomy.php:
$logo = get_tax_meta($term->term_id, ttp_logo_id);
Alguém pode ajudar, por favor? Estou nisso há HORAS!
James Dower
…e alguém poderia, por favor, explicar como exibir campos repetidores?!
James Dower
Para todos aqueles que estão com dificuldades para fazer isso ler, encontrei um apóstrofo solto lá, isso funciona para mim:
$data = get_tax_meta($term->term_id, ba_text_field_id);
echo $data;
siva
Olá Equipe, muito, muito obrigado.....
Ketan
Olá,
Eu ativei o plugin. mas não mostro onde posso adicionar um campo de taxonomia personalizado no lado do administrador. por favor, me responda.
Obrigado,
Ketan.
Francisco
Thanks a lot this has been very useful!!!!
Eu exibi corretamente um campo de texto usando este código:
// Obter o ID correto da taxonomia por slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
// Obter Meta da Taxonomia
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
echo $saved_data;
MAS EU preciso exibir uma imagem também, estou usando este código php no meu template:
// Obter o ID correto da taxonomia por slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
// Obter Meta da Taxonomia
$saved_data = get_tax_meta($term->term_id,’ba_image_field_id’);
echo $saved_data;
But it doesn’t display anything!
Ele apenas mostra uma única palavra “array”
O que pode estar errado?
David Beastall
Obrigado por isso, o tutorial parece incompleto, na minha opinião.
Hemanta Chakladar
Eu também estou procurando por isso.
Hemanta Chakladar
Estou travado.
Eu consigo ver a opção de metadados na categoria do WordPress e não na minha taxonomia personalizada. Onde posso adicionar esta opção para adicionar metadados personalizados na minha taxonomia personalizada? Onde isso é definido?
Marco Panichi
Como adicionar uma caixa de seleção múltipla para selecionar um ou mais usuários?
Ankur
Oi Marco, você obteve alguma resposta sobre isso? Eu também estou procurando pela mesma funcionalidade.
Joe Chow
muito obrigado. Eu consigo ver que há um monte de campos mostrados na categoria de postagem. No entanto, eu só quero saber como fazer o código ser usado apenas para a categoria de produto do WooCommerce.
Alguém pode dar uma dica?
Joe
Como você obteria as informações de taxonomia em um modelo de página personalizado em vez de uma página taxonomy.php?
Jason Gateman
Obrigado por este tutorial! Como faço para que os metadados sejam exibidos em uma página de postagem personalizada que criei, em oposição a apenas a página de taxonomia?
AD
Olá pessoal,
Para aqueles que estão tendo problemas para exibir o conteúdo que foi salvo. Use o prefixo na frente da chave.
//Obter Metadados de Taxonomia
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Deveria ser ba_text_field_id (Dado que o prefixo é ba_).
Espero que isso ajude, valeu.
Dan
Eu queria endossar este comentário, pois pode ser bastante confuso descobrir por que o exemplo não funciona. Se você olhar no arquivo "Tax meta class", verá no topo que Ohad define uma variável $prefix que é anexada a cada função de salvar.
Portanto, para obter o resultado para exibir, você precisa incluir o prefixo. Você pode definir o prefixo como quiser, incluindo "". Eu não tenho ideia do que "ba_" significa, mas é o que está lá por padrão.
O exemplo deve ler:
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
Chris
Muito obrigado! Funciona muito bem. Você me salvou muito tempo de codificação.
Ante
Ok, estou travado.
//Obtém o ID correto da taxonomia pelo slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obter Metadados de Taxonomia
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
Então ‘taxonomy’ é a minha taxonomia personalizada, digamos ‘project_clients’
‘text_field_id’ é o id do campo de entrada, é $prefix.’text_area’…
O que é ‘term’ ?????
Steve
Ante,
Você teve algum progresso com isso??
Estou com a mesma dúvida – li tantos comentários e páginas falando sobre isso, mas não consigo encontrar uma solução. Qualquer ajuda seria apreciada se você encontrou a resposta.
Simplesmente adicionar o seguinte ao meu arquivo taxonomy.php não está funcionando:
//Obtém o ID correto da taxonomia pelo slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obter Metadados de Taxonomia
$saved_data = get_tax_meta($term->term_id,’text_field_id’);
echo $saved_data;
fp-admin
Estou tentando adicionar o que quer que eu coloque no WYSIWYG ao front-end do site. Honestamente, não tenho ideia do que estou fazendo, mas este é o meu código até agora:
term_id,’wysiwyg_field_id’);
?>
<a href="”>
ELiane
Olá,
Usei o plugin, mas não consigo obter o código no meu Taxonomy.php.
Eu uso este código para exibir o campo
term_id,’text_field_id’);
echo $saved_data;
?>
Eu tenho que fazer mais alguma coisa?
Obrigado
WPBeginner Support
sim, se você seguiu todas as instruções conforme descrito acima, então deve funcionar.
Admin
Tejas Deshmukh
Olá, Agradecimentos especiais por esta ideia. Este plugin está funcionando superb. Adicionei três campos extras na opção de adicionar, editar Termo específico. mas quando crio uma categoria nele naquele termo, não consigo armazenar o valor para esses três campos extras. Alguma sugestão para isso?
alexut
Mas como eu obtenho os dados da página de arquivo? você deveria adicionar isso também, pois é uma solicitação comum.
Kisshomaru
Brilhante! Você não tem ideia de quanto tempo passei procurando uma maneira de adicionar “quantidades” a “produtos”. Como este não é um site de comércio, era complicado ter uma postagem de comida ligada a uma taxonomia de Ingredientes e não poder modificar o número de pepinos para cada postagem.
Obrigado!
Mike Jackson
Olá – Estou tendo problemas para fazer isso funcionar. Tenho os campos de dados visíveis na minha taxonomia personalizada, mas não consigo chamar os dados em meu brand-description.php usando o código php que você colou no final do seu artigo. Ele não mostra um erro, apenas não funciona.
Eu realmente apreciaria uma explicação adicional sobre isso, se você tiver tempo.
Obrigado
Mike Jackson
Esta é uma ótima descoberta! Tenho tentado resolver isso por algumas semanas. Alguma ideia de como adicionar os novos campos às colunas?
Mike Jackson
Eu também estou tendo problemas para exibir qualquer coisa na página. Tenho este código aplicado e dados nos campos, mas nada aparece no site
term_id,’textarea_field_id’);
echo $saved_data;
?>
Equipe Editorial
Este código funciona na página de arquivo da taxonomia. Se não estiver sendo exibido, é provável que o código não consiga obter o ID da taxonomia. Pelo menos essa seria a minha suposição.
-Syed
Admin
FJ
Bem, isso parece ótimo e funcionou nas categorias, mas por algum motivo, não funcionou em uma taxonomia personalizada minha. Perdi alguma coisa? Existe algum hook em algum lugar que eu não olhei?
De qualquer forma, muito obrigado por essas informações esclarecedoras sobre o trabalho de Ohad. Fiquei em volta dele me perguntando como diabos eu poderia usá-lo corretamente. Eu sou do tipo que faz tudo sozinho, não um desenvolvedor de verdade, tenho certeza que você já entendeu.
Obrigado novamente.
Equipe Editorial
Na linha 24 de example-usage.php, você deve ser capaz de especificar sua taxonomia personalizada.
Admin
Ben
Para esclarecer – Linha 24 de taxonomy-fields.php
‘pages’ => array(‘category’), // nome da taxonomia, aceita categorias, post_tag e taxonomias personalizadas
ALTERE o XXX para o nome da sua taxonomia personalizada
‘pages’ => array(‘xxxxx’), // nome da taxonomia, aceita categorias, post_tag e taxonomias personalizadas
Kobbe
@ Editor, por favor, me perdoe, como eu exibo um campo de texto?
Equipe Editorial
Você tem que usar o código PHP que compartilhamos. Certifique-se de alterar o nome do campo para o que você tem.
Admin
Kobbe
Obrigado editor, eu realmente aprecio a resposta. É assim que class-usage-demo.php – http://pastebin.com/ctZPeS0w
É assim que estou fazendo, mas não está exibindo/mostrando nada. O que estou fazendo de errado..? E é possível exibir o código (se possível) em algum lugar do meu tema… Obrigado
Equipe Editorial
O código que você tem está simplesmente configurando o lado administrativo das coisas. Para exibir o código, veja o código PHP que compartilhamos no artigo. Você tem que usá-lo no seu arquivo de arquivo de taxonomia.
gaurav kaushik
é legal..
mas onde ele salva os dados…? na tabela postmeta ou ele cria uma nova tabela?
Equipe Editorial
Ele faz isso na tabela de opções.
Admin
Gaurav Kaushik
podemos mudar o backend deste plugin.. quero dizer, queremos criar uma tabela termmeta (meta_id,term_id,meta_key,meta_value) ..e salvar os metadados da taxonomia aqui… ou conectá-lo com este plugin? http://wordpress.org/extend/plugins/simple-term-meta/
Jim
Coisas legais. Implementarei isso em nosso blog no futuro.
Michelle
Oh thanks you so much, I’ve been wondering how to identify tags as being English or Spanish for my bilingual site – this helps enormously
Jaime
Na verdade, acabei de terminar de codificar campos personalizados para uma taxonomia personalizada para um projeto em que estou trabalhando. Adoro a flexibilidade – certamente verificarei o plugin para projetos futuros!
Equipe Editorial
Sim, essa é a melhor parte disso. Adoramos encontrar bibliotecas como esta que tornam a vida dos desenvolvedores muito mais fácil.
Admin