✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como obter uma taxonomia do WordPress por ID de termo

58

Ocasionalmente, ao trabalhar em um projeto, há momentos em que seria bom ter uma função de API para ajudar a alcançar o que precisa ser feito. Caso em questão: a capacidade de recuperar uma taxonomia por ID de termo.

Concedido, não é uma coisa difícil de fazer, mas ter a capacidade de recuperar as informações de funcionalidades pré-existentes é sempre bom.

Mas quando isso não é possível, escrevemos do nosso jeito, certo?

Recuperar uma taxonomia por ID de termo

Quando me proponho a fazer algo assim, geralmente executo a ideia de alguns outros desenvolvedores para ter certeza de que não estou perdendo alguma função que existe no núcleo do WordPress e simplesmente não sei sobre isso.

(Isso acontece mais do que você imagina, mas pode ser mais um problema para mim do que qualquer outra coisa. Mesmo assim, o WordPress é um grande software :).

O caso de uso para algo assim é simples:

  • Eu tenho um ID de termo que foi salvo no banco de dados por outros meios (como um elemento de seleção em outro lugar no aplicativo, como o painel).
  • Desejo exibir o nome da taxonomia associado a esse ID de termo.

Conceitualmente, penso nisso como um tipo de olhar reverso. Normalmente, podemos pegar uma taxonomia e pesquisar seus termos. Mas para uma taxonomia por termo ID está indo na outra direção.

Felizmente, é bastante fácil se você pegar carona em uma API existente. Confira :

<?php

/**
 * Retrieves the taxonomy name associated on the specified $term_id. 
 *
 * @access private
 * @param  int    $term_id  The term ID from which to retrieve the taxonomy name.
 * @return string $taxonomy The name of the taxaonomy associated with the term ID.
 */
private function get_taxonomy_by_term_id( $term_id) {

    // We can't get a term if we don't have a term ID.
    if (0 === $term_id || null === $term_id) {
        return;
    }

    // Grab the term using the ID then read the name from the associated taxonomy.
    $taxonomy = '';
    $term = get_term( $term_id );
    if (false !== $term) {
        $taxonomy = $term->taxonomy;
    }

    return trim( $taxonomy );
}

O código deve ser fácil de seguir (se não for pelos comentários acima da função), mas retornará uma string vazia ou o nome da taxonomia com base no ID do termo.

Como get_term recupera um objeto WP_Term, podemos examinar a propriedade de taxonomia do termo para obter o nome. Em seguida, aparo a string por precaução (se estou trabalhando com o código de outra pessoa, nunca sei se é preenchido ou não e não quero caracteres estranhos).

Independentemente disso, agora você tem uma função disponível para pegar o nome da taxonomia pelo termo ID. Se uma string vazia for retornada, nenhum nome de taxonomia foi encontrado.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação