Organizar o conteúdo do WordPress é fácil com categorias e tags. Mas, às vezes, elas não são suficientes para organizar tudo da maneira que você deseja. É aí que entram as taxonomias personalizadas.
Com as taxonomias personalizadas, você pode criar suas próprias maneiras de classificar e agrupar conteúdo. Isso lhe dá mais controle e flexibilidade sobre como seus posts, produtos ou qualquer outro conteúdo são categorizados.
Neste guia, vamos orientá-lo sobre como criar taxonomias personalizadas no WordPress, quer você use um plug-in ou prefira fazê-lo manualmente.
O que é uma taxonomia do WordPress?
Uma taxonomia do WordPress é uma forma de organizar grupos de posts e tipos de posts personalizados.
Por padrão, o WordPress vem com duas taxonomias chamadas categorias e tags. Você pode usá-las para organizar as publicações do seu blog.
No entanto, se você usar um tipo de post personalizado, as categorias e as tags poderão não parecer adequadas para todo o conteúdo.
Por exemplo, você pode criar um tipo de post personalizado chamado “Books” (Livros) e classificá-lo usando uma taxonomia personalizada chamada “Topics” (Tópicos). Em seguida, você pode adicionar termos de tópicos como “Aventura”, “Romance”, “Horror” e outros tópicos de livros que desejar.
Isso permitiria que você e seus leitores classificassem e filtrassem facilmente os livros por tópico.
As taxonomias também podem ser hierárquicas, o que significa que você pode ter tópicos principais ou pais como “Ficção” e “Não ficção”. Em seguida, você teria subtópicos, ou filhos, em cada categoria.
Por exemplo, a categoria principal “Ficção” poderia ter “Aventura”, “Romance” e “Horror” como filhos.
Agora que você já sabe o que é uma taxonomia personalizada, vamos aprender a criar taxonomias personalizadas no WordPress.
Embora a criação de taxonomias personalizadas seja poderosa, há muito a ser abordado. Para ajudá-lo a configurar isso corretamente, criamos um índice simples abaixo:
Pronto? Vamos começar!
Criação de taxonomias personalizadas com um plug-in (a maneira mais fácil)
A primeira coisa que você precisa fazer é instalar e ativar o plug-in Custom Post Type UI. Para obter detalhes, consulte nosso guia sobre como instalar um plug-in do WordPress.
Neste tutorial, já criamos um tipo de post personalizado e o chamamos de “Books”. Portanto, certifique-se de que você tenha criado um tipo de post personalizado antes de começar a criar suas taxonomias.
Em seguida, vamos acessar CPT UI ” Add/Edit Taxonomies (Adicionar/Editar taxonomias ) na área de administração do WordPress para criar sua primeira taxonomia.
Nessa tela, você precisará fazer o seguinte:
- Crie o slug de sua taxonomia (isso será incluído em seu URL)
- Criar o rótulo plural
- Criar o rótulo singular
- Preenchimento automático de rótulos
Sua primeira etapa é criar um slug para a taxonomia a ser usada no URL e nas consultas de pesquisa do WordPress. Observe que um slug só pode conter letras e números, e será automaticamente convertido em letras minúsculas.
Em seguida, você preencherá os nomes no plural e no singular da sua taxonomia personalizada.
A partir daí, você tem a opção de clicar no link ‘Populate additional labels based on chosen labels’ (Preencher rótulos adicionais com base nos rótulos escolhidos). Se você fizer isso, o plug-in preencherá automaticamente o restante dos campos de rótulo para você.
Agora, você pode rolar para baixo até a seção “Additional Labels” (Rótulos adicionais).
Nessa área, você pode fornecer uma descrição do seu tipo de postagem.
Esses rótulos são usados no painel do WordPress quando você edita e gerencia o conteúdo dessa taxonomia personalizada específica.
Em seguida, temos a opção de configurações. Nessa área, você pode configurar diferentes atributos para cada taxonomia que criar. Cada opção tem uma descrição detalhada do que faz.
Na captura de tela acima, você verá que optamos por tornar essa taxonomia hierárquica.
Isso significa que nossa taxonomia “Assuntos” pode ter subtópicos. Por exemplo, um assunto chamado “Ficção” pode ter subtópicos como “Fantasia”, “Suspense”, “Mistério” e outros.
Há muitas outras configurações mais abaixo na tela do painel do WordPress, mas você pode deixá-las como estão para este tutorial.
Agora você pode clicar no botão “Add Taxonomy” (Adicionar taxonomia) na parte inferior para salvar sua taxonomia personalizada.
Depois disso, você pode editar o tipo de postagem associado a essa taxonomia no editor de conteúdo do WordPress para começar a usá-la.
Criação manual de taxonomias personalizadas (com código)
Esse método requer que você adicione código ao seu site WordPress. Se você nunca fez isso antes, recomendamos que leia nosso guia sobre como adicionar facilmente trechos de código no WordPress.
Não recomendamos a edição direta dos arquivos do WordPress porque qualquer pequeno erro pode danificar todo o seu site. É por isso que recomendamos que todos usem o WPCode, o plug-in de snippet de código mais fácil e seguro disponível.
Para começar, você precisará instalar e ativar o plug-in gratuito WPCode. Para obter instruções detalhadas, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.
1. Criação de uma taxonomia hierárquica
Vamos começar com uma taxonomia hierárquica que funciona como categorias e pode ter termos pai e filho.
Depois de instalar e ativar o WPCode, você pode navegar até Code Snippets ” Add Snippet no painel do WordPress.
A partir daí, passe o mouse sobre ‘Add Your Custom Code (New Snippet)’ e clique em ‘Use Snippet’.
Em seguida, você será levado à página “Create Custom Snippet” (Criar snippet personalizado).
Basta nomear seu novo snippet de código e colar o seguinte código na área de texto:
//hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );
//create a custom taxonomy name it subjects for your posts
function create_subjects_hierarchical_taxonomy() {
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
$labels = array(
'name' => _x( 'Subjects', 'taxonomy general name' ),
'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
'search_items' => __( 'Search Subjects' ),
'all_items' => __( 'All Subjects' ),
'parent_item' => __( 'Parent Subject' ),
'parent_item_colon' => __( 'Parent Subject:' ),
'edit_item' => __( 'Edit Subject' ),
'update_item' => __( 'Update Subject' ),
'add_new_item' => __( 'Add New Subject' ),
'new_item_name' => __( 'New Subject Name' ),
'menu_name' => __( 'Subjects' ),
);
// Now register the taxonomy
register_taxonomy('subjects',array('books'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'subject' ),
));
}
Certifique-se de alterar o “Code Type” (Tipo de código) para “PHP Snippet” (Snippet de PHP) e alterne a chave para “Active” (Ativo).
Em seguida, você pode clicar em ‘Save Snippet’.
Não se esqueça de substituir o nome da taxonomia e os rótulos no snippet por seus próprios rótulos de taxonomia. Você também notará que essa taxonomia está associada ao tipo de postagem Books (Livros). Você precisará alterar isso para o tipo de postagem com o qual deseja usá-la.
Em seguida, role a tela para baixo e verifique se as opções “Auto Insert” (Inserção automática) e “Run Everywhere” (Executar em todos os lugares) estão selecionadas na caixa de inserção.
Depois disso, você pode rolar de volta para a parte superior e clicar no botão “Update” (Atualizar) para ativar suas alterações.
2. Criação de uma taxonomia não hierárquica
Para criar uma taxonomia personalizada não hierárquica, como tags, você usará o WPCode e seguirá exatamente as mesmas etapas acima.
No entanto, você usará este código:
//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
function create_topics_nonhierarchical_taxonomy() {
// Labels part for the GUI
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'popular_items' => __( 'Popular Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'separate_items_with_commas' => __( 'Separate topics with commas' ),
'add_or_remove_items' => __( 'Add or remove topics' ),
'choose_from_most_used' => __( 'Choose from the most used topics' ),
'menu_name' => __( 'Topics' ),
);
// Now register the non-hierarchical taxonomy like tag
register_taxonomy('topics','books',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}
Observe a diferença entre os dois trechos de código. Na função register_taxonomy()
, o valor do argumento hierárquico
é definido como true
para a taxonomia do tipo categoria e false
para taxonomias do tipo tags.
Além disso, na matriz de rótulos para taxonomias não hierárquicas, adicionamos null
para os argumentos parent_item
e parent_item_colon
, o que significa que nada será mostrado na interface do usuário para criar um item pai ou uma taxonomia que possa ter subtópicos.
Novamente, não se esqueça de editar o código para incluir seus próprios rótulos de taxonomia personalizados.
Exibição de taxonomias personalizadas
Agora que criamos taxonomias personalizadas e adicionamos alguns termos, seu tema do WordPress ainda não os exibirá.
Para exibi-los, você precisará adicionar código ao seu tema ou tema filho do WordPress. Especificamente, esse código deve ser adicionado aos arquivos de modelo em que você deseja exibir os termos.
Você pode adicionar manualmente esse snippet aos arquivos do seu tema, como single.php
, content.php
, archive.php
ou index.php
. Para descobrir qual arquivo você precisa editar, consulte nosso guia de hierarquia de modelos do WordPress para obter instruções passo a passo.
No entanto, se não for feito corretamente, isso pode danificar seu site, por isso recomendamos mais uma vez o uso do plug-in gratuito WPCode.
Você precisará adicionar o seguinte código onde deseja exibir os termos:
<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>
Em seguida, basta seguir as etapas acima para colar o snippet no WPCode.
Mas, em Inserção, você deve clicar no menu suspenso ao lado de “Localização” e selecionar onde deseja exibir a taxonomia, como antes da postagem, depois dela ou até mesmo entre parágrafos.
Para este tutorial, selecionaremos “Insert After Post” (Inserir após a postagem).
Você pode ver na imagem abaixo como ela aparecerá em seu site ativo.
Adição de taxonomias para posts personalizados
Agora que você sabe como criar taxonomias personalizadas, vamos colocá-las em prática com um exemplo.
Vamos criar uma taxonomia e chamá-la de “Não ficção”. Como temos um tipo de post personalizado chamado ‘Books’, é semelhante ao modo como você criaria um post de blog comum.
No painel do WordPress, você pode navegar até Books ” Subjects para adicionar um termo ou assunto.
Nessa tela, você verá 4 áreas:
- Nome
- Lesma
- Pais
- Descrição
No campo de nome, você escreverá o termo que deseja adicionar. Você pode pular a parte do slug e fornecer uma descrição para esse termo específico.
Por fim, clique no botão “Add New Subject” (Adicionar novo assunto) para criar sua nova taxonomia.
Seu termo recém-adicionado deverá aparecer na coluna da direita.
Agora, você tem um novo termo que pode ser usado nas postagens do seu blog. Você também pode adicionar termos diretamente ao editar ou escrever conteúdo nesse tipo específico de post.
Basta acessar Books ” Add New para criar uma postagem.
No editor de postagens, você encontrará a opção de selecionar ou criar novos termos na coluna da direita.
Depois de adicionar os termos, você pode ir em frente e publicar o conteúdo.
Todas as suas postagens arquivadas sob esse termo poderão ser acessadas em seu site usando seu próprio URL. Por exemplo, as postagens arquivadas sob o assunto “Ficção” apareceriam no seguinte URL:
https://example.com/subject/fiction/
Adição de taxonomias personalizadas ao menu de navegação
Agora que você criou taxonomias personalizadas, talvez queira exibi-las no menu de navegação do seu site.
Vá até Appearance ” Menus e selecione os termos que deseja adicionar na guia de taxonomia personalizada que aparece no lado esquerdo da tela.
Não se esqueça de clicar no botão “Save Menu” para salvar suas configurações.
Agora você pode visitar seu site para ver o menu em ação.
Para obter mais detalhes, consulte nosso guia passo a passo sobre como criar um menu suspenso no WordPress.
Tutorial em vídeo
Se preferir assistir e aprender a criar taxonomias personalizadas, confira nosso tutorial em vídeo:
Bônus: Leve as taxonomias do WordPress mais longe
As taxonomias personalizadas permitem que você faça muitas coisas. Por exemplo, você pode exibi-las em um widget da barra lateral ou adicionar ícones de imagem para cada termo.
Você também pode criar taxonomias personalizadas e permitir que os usuários se inscrevam em termos individuais. Dessa forma, seus leitores só receberão atualizações sobre o conteúdo específico que interessa a eles.
Se quiser personalizar o layout de suas páginas de taxonomia personalizada, você pode consultar o SeedProd. Ele é o melhor construtor de páginas e de temas do WordPress do tipo arrastar e soltar que permite criar layouts personalizados sem qualquer codificação.
Para saber mais, consulte nosso artigo sobre como criar uma página personalizada no WordPress.
Esperamos que este artigo tenha ajudado você a aprender como criar taxonomias personalizadas no WordPress. Talvez você também queira ver nossos guias sobre como adicionar imagens de taxonomia (ícones de categoria) no WordPress e como alterar, mover e excluir corretamente as categorias do WordPress.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk
Thank you for the clear instructions. I would like to make my own taxonomy for tutorials on the site. This tutorial is great and clear, thanks.
WPBeginner Support
Glad it was helpful
Administrador
Kira
Hello.
I don’t understand this part:
ID, ‘topics’, ‘Topics: ‘, ‘, ‘, ‘ ‘ ); ?>
I mean, should I paste exactly that part into my loop-single.php?
I’m using a taxonomy called “writer”
WPBeginner Support
It would depend on where you want to display the terms, normally it would be added to the single.php.
Administrador
Wolfgang
Hi,
I used your article to create a CPT with a hierarchical and a non-hierarchical taxonomy attached to it. I created a few entries and it all seems to be working fine. Both taxonomies display fine in their respective archive pages. One thing I noticed though when I tried to add the taxonomies to the menu was that the non-hierarchical taxonomy was available in the “Add menu item” column but the hierarchical taxonomy was NOT.
Is that an expected behavior? If not what could be going wrong?
Thanks
WPBeginner Support
The most common issues you could check would be that you have published content in the taxonomy and you may want to test adding a different content type to test if it is an issue with the taxonomy or something else.
Administrador
mb
what does this line do
‘menu_name’ => __( ‘Subjects’ ),
is this in order to add taxonomies to the menu
aditya
hii i try everything but i taxonomy not showing in product. please help me.
WPBeginner Support
You would want to check under your preferences to ensure it is not hidden for your user.
Administrador
Gina Wilson
This tutorial and specifically the part of how to display the custom taxonomy was a lifesaver! I’m very much a beginner and this was very helpful in understanding where I went wrong in my coding.
Thank you!!!
WPBeginner Support
Glad our guide was helpful
Administrador
fengquanli
this is very confident with the custom post ui, thanks very much ,it’s very useful for get them.
WPBeginner Support
Glad our guide was helpful
Administrador
Bruno Oliveira
Awesome tutorial! i have one question. how do i use my new taxonomy slug as permalink like category (/%category%/%year%/%monthnum%/%day%/%postname%/)
I want something like /%custom_taxonomy%/%year%/%monthnum%/%day%/%postname%/
i keep getting 404 error
WPBeginner Support
That is not something WordPress would allow by default and would require some custom coding to set up.
Administrador
vikas
i tried the plugin method , it sucessfully created a new category in custom post type but it is not showing on my posts like tags and other categoties. can you help me with that?
WPBeginner Support
You would want to reach out to the support for your specific theme for customizing the display to include your taxonomy.
Administrador
Richard
I am creating a podcast network where I have multiple podcasts on a single site with episodes under each individual podcast. Would something like this work for that? I really don’t want to go the multi site route.
WPBeginner Support
You can certainly use this should you want or another option would be to create a custom post type depending on your preference.
Administrador
Maria
Hello is possible add the custom taxonomies to a custom product type?
I create a custom product call drinks and i have several taxonomies like country, material and etc
I want when the user click in drinks then only apperas those taxonomies, is this posiible?
WPBeginner Support
You should be able to using the plugin method.
Administrador
Parveen Kaushik
Hi,
Thanks for this article, I am getting 404 page after using this code, can you help me
WPBeginner Support
If you haven’t done so yet, resave your permalinks for the most common solution
Administrador
Mike Smith
this code works great on my site for work. Can you tell me how to add the custom taxonomy into the site’s rss feed?
WPBeginner Support
It would depend on what you are looking for, for a starting point you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-make-a-separate-rss-feed-for-each-custom-post-type-in-wordpress/
Administrador
angela
thank you for taking the time to post this, this was the first site that actually explained this and it made sense, haha. im a happy camper now
WPBeginner Support
You’re welcome, glad our guide could help simplify the process
Administrador
Jem
How to show custom taxonomy (checkbox list) in Post editor page like category and tag?
WPBeginner Support
It would depend on which method you used to create the custom taxonomy, if you’re using the plugin you would want to reach out to the plugin’s support to make sure they have show_in_rest set to true for seeing it in the block editor.
Administrador
Jem
No, I am not using any plugin. I have just copy paste your snippet. Its create new taxonomy. But it is not display in post editor page like category, tags display on rightside panel.
Can you please guide me how can I show custom taxonomy in post editor page?
WPBeginner Support
In the register_taxonomy array, you would want to first try adding a new line with the code below:
‘show_in_rest’ => true,
Jim Gersetich
The first half of this post is completely useless. the Simple Taxonomy plugin doesn’t work with the current WordPress version, and it hasn’t been updated in four years.
Please try to find another plugin and change that section to go with the new one.
WPBeginner Support
Thank you for letting us know, we’ll certainly take a look at updating this article.
Administrador