Quando usamos um CMS, precisamos organizar e agrupar seu conteúdo em determinadas classificações para uma melhor usabilidade, e isso é benéfico tanto para quem administra, quanto para quem acessa.
Uma forma de classificação e agrupamento são as categorias. No WordPress, a forma (conceito) de organizar e agrupar os posts, é chamada de Taxonomia. Apesar desse termo ser da disciplina de Biologia, no WordPress é a forma de classificar ou agrupar Posts, Posts Personalizados e links.
Por padrão no WordPress já vem com três tipos de taxonomias: Categorias, Tags e Categorias de Links.
- Categorias para agrupar os posts, podendo ser hierárquico.
- Tags, também são para os posts, só que mais livres. Muito usadas para definir palavras chaves, classificando o post;
- Categorias de Links são usadas nos Links, para agrupá-los e organizá-los.
Apesar desses 3 tipos serem suficientes para trabalhar com Post que vem como padrão, quando você começa a criar um Post Personalizado, você precisa definir algo diferente para atribuir a esses posts.
Um exemplo é se você precisa trabalhar com imóveis. Você terá Tipo de Negócio, como Venda ou Aluguel, Tipo de Imóveis, etc.
Para criarmos uma personalizada, é usada a função register_taxonomy do WordPress.
Exemplo Prático da Criação de uma Taxonomia
Vamos criar uma taxonomia, que seria para tipo de negócio, em cadastro de imóveis.
Será necessário acessar o arquivo functions.php do seu tema:
wp-content/themes/_SEU_TEMA_/functions.php
Você criará esse código no final do arquivo:
function create_taxonomy_type() { register_taxonomy( 'type_business', 'post', array( 'label' => 'Tipo de Negócio', 'rewrite' => array( 'slug' => 'tipo-negocio' ), 'hierarchical' => true, ) ); } add_action( 'init', 'create_taxonomy_type' );
- Na linha 1 definimos um nome da função;
- Na linha 3 declaramos a função register_taxonomy;
- Na linha 4 definimos o nome (identificador) da taxonomia;
- Na linha 5 definimos tipo de objeto que será associado, no caso será associado ao post;
- Na linha 6, inicia um array;
- Na linha 7 defina o nome que será exibido para essa taxonomia;
- Na linha 8 defina como será acessado, senão definir, ele usará o nome da taxonomia;
- Na linha 9 defina o que exibido para seleção de forma hierárquica;
- Na linha 14, adicione no gancho init, a função que criamos, create_taxonomy_type.
Agora basta acessar o menu do lado esquerdo, que já será exibida a nova taxonomia.
Dentro do Post você também encontrará a opção que foi criada:
Agora basta adicionar as categorias para sua taxonomia, e associar ao post.
Você pode também criar Tipo Personalizado, e associar as taxonomias personalizadas a esse tipo personalizado.
Também existe a possibilidade de uma taxonomia personalizada ser adicionada em vários tipos. Vamos imaginar que temos uma taxonomia que você deseja compartilhar com o Post e tipo que você criou.
Basta na hora de criar a taxonomia, no segundo parâmetro, ao invés de uma string, utilizar array com os tipos, exemplo:
function create_taxonomy_group() { register_taxonomy( 'group', array('post', 'imovel'), array( 'label' => 'Grupos', 'rewrite' => array( 'slug' => 'group' ), 'hierarchical' => true, ) ); } dd_action( 'init', 'create_taxonomy_group' );
Nesse aqui, usamos uma taxonomia para grupo, e foi associada para post e um tipo personalizado chamado imovel.
Você pode criar quantas taxonomias desejar e associar ao mesmo tipo ou vários tipos, tudo vai depender do seu projeto.
Espero que tenha ajudado e até a próxima.