O WordPress em sua versão 4.4 veio cheio de novidades, e uma de suas mais esperadas era o aprimoramento das taxonomias, com ela chegou a novíssima classe WP_Term. O WordPress nos dá uma infinidade de possibilidade ao que se diz em criação de tipos de posts customizados, criação de campos personalizados e a criação de taxonomias, mas sempre estamos em busca de inovações e forma de deixar nosso CMS favorito o mais flexível possível, deste conceito surgiu a necessidade de criação de campos personalizados para as taxonomias, e se for pensar bem, por que não? quanto mais possibilidades melhor.
A classe WP_Term veio para ficar e mudar alguns conceitos em relação aos termos das taxonomias. A partir da versão 4.4 do WordPress, será ela quem manterá os principais métodos que se referem a manipulação do termo, que antes da versão 4.4 era apenas uma classe genérica do PHP (stdClass), mais abaixo você encontrará um bom exemplo desta mudança, de como era antes e como será o uso de um método muito conhecido pelos Ninjas WordPress.
WP_Term uma forma mais semântica de se programar
Antes do surgimento da WP_Term:
$term = get_term_by( ‘name’, ‘Nome do termo’, ‘nome_da_taxonomia’ );
echo get_term_link( $term, ‘nome_da_taxonomia’ );
Após o surgimento da WP_Term:
$term = get_term_by( 'name', 'Nome do termo', 'nome_da_taxonomia' );
echo $term->get_link();
Pode-se notar que as coisas ficaram mais claras, mais semânticas, ambos os métodos vão produzir o mesmo resultado, mas agora com o uso da Orientação a Objetos.
Nas versões anteriores do WordPress quando se era criado 2 termo com o mesmo slug, em duas diferentes taxonomias, na verdade o WordPress em sua base de dados criava apenas um termo e o associava a estas duas taxonomias, o bom deste comportamento era que poupava muitos registros no banco de dados, por outro lado deixava uma complexidade maior ao se buscar um termo, pois alem de ter que informar qual termo você queria resgatar, também era necessário informar a taxonomia. Agora cada termo tem um ID único, que poderá ser identificado por ele, sem a necessidade de se informar a taxonomia, o parametro “$taxonomy"
agora se torna opcional nas funções “get_term()"
e “get_term_field()"
, sendo apenas necessário informar o parâmetro "$term_id"
.
Antiga estrutura vs Nova estrutura
Como pode se notar, na versão 4.4 do WordPress cada termo será gerado de forma única, independente se seu slug for o mesmo para mais de uma taxonomia.