Como Adicionar Campos Meta Personalizados a Taxonomias Personalizadas no WordPress

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.

Como Adicionar Campos Meta Personalizados a 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.

Taxonomias Têm 3 ou 4 Campos por Padrã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'.

Adicionar Novo Grupo de Campos

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.

Adicionar Novo Campo

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’.

Local do Campo Meta Personalizado

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’.

Ao Terminar, Publique o Grupo de Campos

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.

Clique em Taxonomia Personalizada no seu Menu de Administração

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.

Insira Dados no Novo Campo

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:

Visualização do Campo de Metadados Personalizado

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.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

45 CommentsLeave a Reply

  1. 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().

  2. 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;

    ?>

  3. 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!

  4. 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;

  5. 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.

  6. Thanks a lot this has been very useful!!!! :D

    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?

  7. 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?

  8. 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?

  9. Como você obteria as informações de taxonomia em um modelo de página personalizado em vez de uma página taxonomy.php?

  10. 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?

  11. 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.

    • 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’);

  12. 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’ ?????

    • 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;

  13. 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="”>

  14. 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

  15. 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?

  16. Mas como eu obtenho os dados da página de arquivo? você deveria adicionar isso também, pois é uma solicitação comum.

  17. 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!

  18. 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

  19. Esta é uma ótima descoberta! Tenho tentado resolver isso por algumas semanas. Alguma ideia de como adicionar os novos campos às colunas?

    • 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;

      ?>

      • 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

  20. 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.

      • 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

      • 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

        • 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.

  21. 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 :-)

  22. 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!

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.