Languages: English • Italiano • Português do Brasil • (Add your language)
Artigo parcialmente traduzido ou que precisa de tradução Este documento está parcialmente traduzido ou precisa ser traduzido. Toda a tradução é feita por voluntários e você pode ser um deles.
Participar ▪ Artigos para traduzir ▪ Fórum de Suporte ▪ Todos os Artigos |
Taxonomia é uma daquelas palavras que a maioria das pessoas nunca ouviram ou não usam. Basicamente, uma taxonomia é uma forma de agrupar as coisas em conjunto.
Por exemplo, eu poderia ter um monte de diferentes tipos de animais. Eu posso agrupá-los de acordo com várias características e, em seguida, atribuir os nomes de grupos. Isso é algo que a maioria das pessoas encontram nas aulas de biologia, e é conhecido como o Sistema de Linné.
No WordPress, uma "taxonomia" é um mecanismo de agrupamento para alguns posts (ou links ou post personalizado).
O WordPress tem três taxonomias embutidas que você provavelmente já usou.
A taxonomia 'categoria' permite que você agrupe posts, classificando-os em várias categorias. Estas categorias podem então serem vistas no site usando '/category/nome'. Categorias tendem a ser pre-definidas e de longo alcance.
A taxonomia 'post_tag' é similar às categorias, porém, mais livres. Tags podem ser criadas em tempo real, bastando digita-las. Elas podem ser vistas no site no tipo de URL '/tag/nome'. Posts tendem a ter inúmeras tags, e elas geralmente são exibidas próximas aos posts ou nas forma de 'tag clouds'.
O 'link_category' permite você caracterizar seus links. Eles tendem a ser usados apenas internamente, por razões organizacionais, e geralmente não são expostos no site em si. Eles são conveniente para definir grupos de links para serem exibidos em 'sidebars' e afins.
Desde o WordPress 2.3, você pode criar suas próprias taxonomias personalizadas, mas elas não foram uma funcionalidade do WordPress muito utilizada até a versão Version 2.9. Na verdade, elas são uma poderosa forma de agrupar vários itens de todas as formas.
O plugin Matt's Community Tags usa taxonomias para definir "pessoas" como uma taxonomia para anexos. Ele usa-o para permitir pessoas marcarem os nomes de outros nas fotos, e usando isso, o site dele pode exibir fotos de pessoas a partir da URL '/pessoa/nome'.
Para registrar uma taxonomia, você pode usar a função register_taxonomy().
A seguir, um exemplo registrando a taxonomia "pessoas":
function people_init() { // cria uma nova taxonomia register_taxonomy( 'pessoas', 'post', array( 'label' => __( 'Pessoas' ), 'rewrite' => array( 'slug' => 'pessoa' ), 'capabilities' => array('assign_terms'=>'edit_guides', 'edit_terms'=>'publish_guides') ) ); } add_action( 'init', 'people_init' );
Aqui a taxonomia "pessoas" é definida. Ela é definida para funcionar para posts, e a slug de reescrita é definida para a URL ficar como '/pessoa/', ao invés de '/pessoas/'. A linha de capacidades (capabilities) é opcional. Sem ela, o WordPress usará as capacidades padrões. Como mostrado abaixo, isso permitirá que qualquer usuário com a capacidade personalizada "edit_guides" a definir a taxonomia para o post e qualquer usuário com a capacidade personalizada "publish_guides" a criar novos itens de taxonomia.
A capacidade das taxonomias incluem "assign_terms", "edit_terms", "manage_terms" (exibe a taxonomia no painel admin) e "delete_terms".
Uma vez que você adicionou a taxonomia, você perceberá que o WordPress cria uma nova meta box nos posts para você. Esta nova meta box parece exatamente como as caixa de Tags e permitirá você adicionar tags para estes posts.
Se você não estiver anexando sua taxonomia a posts, então pode ser que a interface não seja criada para você. Taxonomias são genéricas, no final, você poderia criar uma para cada tipo de objeto. Para adicionar termos a um objeto usando taxonomia, você precisará usar a função wp_set_object_terms(). Abaixo, um exemplo de adição do termo "José" ao post de ID número 123 na taxonomia "pessoa":
wp_set_object_terms( 123, 'José', 'pessoa' );
Como você pode ver, é simples de se fazer. O segundo parâmetro também pode ser uma array de termos para adicionar todos de uma só vez, caso precise.
A função wp_tag_cloud() também pode aceitar um parâmetro "taxonomia" se vocẽ quiser exibir a nuvem de termos para a sua taxonomia personalizada.
Se você deseja ter uma lista personalizada no seu tema, então você pode passar o nome da taxonomia dentro da função the_terms() no Loop, como:
the_terms( $post->ID, 'pessoa', 'Pessoa: ', ', ', ' ' );
Isso mostra a lista de pessoas anexadas a cada post.
Criar uma taxonomia geralmente cria automaticamente uma variável especial para consulta usando a classe WP_Query, que pode ser utilizada para buscar relacionados. Por exemplo, para puxar uma lista com os posts que têm "José" como uma taxonomia "pessoa" neles, vamos utilizar:
$query = new WP_Query( array( 'pessoa' => 'jose' ) );
ou, um exemplo mais complexo:
$args = array( 'tax_query' => array( array( 'taxonomy' => 'pessoa', 'field' => 'slug', 'terms' => 'jose' ) ) ); $query = new WP_Query( $args );
Se o seu site usa permalinks personalizados, você terá que atualizar a estrutura do seu parmalink depois de fazer alterações na sua taxonomia, ou então você poderá se deparar com o erro "Página não encontrada". Sua estrutura de permalink é automaticamente atualizada quando você visita Configurações > Permalinks no seu Painel de Administração.
A documentação do WordPress em Português do Brasil.
Todas as comunidades lusófonas também são bem-vindas! Adicione {{Codex-pt}} em seus artigos. |