Início » Desenvolvimento WordPress » Metadados em taxonomias, saiba como utilizar no WordPress 4.4
Desenvolvimento WordPress

Metadados em taxonomias, saiba como utilizar no WordPress 4.4

Você sabia que é possível criar metadados para as taxonomias semelhantemente ao que fazemos nos posts? Agora no WordPress 4.4 isso ficou muito mais fácil. E o melhor, sem a necessidade de plugins adicionais.
dezembro de 2015 /3 min de leitura
Conteúdo escrito por humano

Você sabia que é possível criar metadados para as taxonomias semelhantemente ao que fazemos nos posts?

Por muito tempo, nós aqui na Apiki utilizamos o plugin Taxonomy Metadata que nos ajudou bastante na tarefa, entretanto nessa nova versão o WordPress implementará essa funcionalidade nativamente através dos Term Metas.

Vamos conferir como ficou?

Estrutura do banco de dados

A primeira novidade foi a inclusão de uma nova tabela chamada “{seu_prefixo}termmeta” para a manipulação dos metadados. Observe que sua  estrutura ficou bem parecida com a tabela {seu_prefixo}postmeta que temos para armazenar os “post metas”.

Estrutura da nova tabela

Estrutura da nova tabela

Novas funções

Foram incluídas novas funções para nos ajudar manipular esses term metas, veja as principais :

  1. add_term_meta( $term_id, $meta_key, $meta_value, $unique = false )
  2. delete_term_meta( $term_id, $meta_key, $meta_value = ” )
  3. get_term_meta( $term_id, $meta_key, $single = false )
  4. update_term_meta( $term_id, $meta_key, $meta_value, $prev_value = ” )
  5. update_termmeta_cache( $term_ids )

Percebam que os argumentos e até mesmo os nomes seguem o padrão utilizado nas funções para manipulação de post metas.

Mas como implementar esses metadados?

Nesse exemplo criaremos um  novo campo de texto personalizado para a categoria padrão de “posts”.

No seu arquivo functions.php insira o seguinte código:

<?php 
add_action( 'create_category', 'save_category_metas' );
add_action( 'edited_category', 'save_category_metas' );
add_action( 'delete_category', 'delete_category_metas' );
add_action( 'category_edit_form_fields', 'render_category_metas' );
?>

No trecho acima definimos as funções que serão executadas na inclusão, edição e exclusão dos termos através dos hooks create_{taxonomy}, edited_{taxonomy}, delete_{taxonomy}.

Já o hook {taxonomy}_edit_form_fields é responsável por exibir o campo que criamos através da função render_category_metas.

<?php
function render_category_metas( $term ) 
{ 
  $my_term_meta = get_term_meta( $term->term_id, 'my_term_meta', true ); 
  ?>
  <div class="form-field">
    <tr class="form-field"> 
      <th scope="row" valign="top">
        <label>Meu primeiro "Term Meta"</label>
      </th>
      <td>
        <input type="text" name="my_term_meta" value="<?php echo $my_term_meta; ?>"/> 
        <?php wp_nonce_field('my_term_meta_nonce_action','my_term_meta_nonce_field'); ?> 
      </td> 
    </tr> 
  </div>
  <?php
}
  

Por fim temos as funções que salvam e excluem os metas:

function save_category_metas( $term_id )
{
  if ( isset( $_POST['my_term_meta'] ) 
    && wp_verify_nonce( $_POST['my_term_meta_nonce_field'], 'my_term_meta_nonce_action' ) ) {
    update_term_meta( $term_id, 'my_term_meta', strip_tags(   $_POST['my_term_meta'] ) );
  }
}

function delete_category_metas( $term_id )
{
  delete_term_meta( $term_id, 'my_term_meta' );
}

O resultado ficou assim:

Exemplo de inclusão de um campo personalizado em um categoria

Exemplo de inclusão de um campo personalizado em um categoria

Fique ligado…

A partir de agora não é mais necessário utilizar plugins para implementar essa funcionalidade, mas existem muitos deles no mercado. Caso você utilize algum deles, fique atento, pois se o plugin não foi desenvolvido utilizando as melhores práticas poderão ocorrer alguns conflitos.

Até a próxima e continuem acompanhando as novidades sobre essa nova versão do WordPress aqui no blog.

Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

  1. […] a versão 4.4 do WordPress, as taxonomias receberam metadados criando novas possibilidades para os desenvolvedores. Isto […]

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login