Obter Nome da Categoria de Nível Inferior (abaixo) com PHP no WordPress - Bruno Devx - BR Criativus

post #4669

Obter Nome da Categoria de Nível Inferior (abaixo) com PHP no WordPress

Publicado em: 12/03/2024 / Atualizado em: 12/03/2024

Categorias: BlogPHPWordpress

Se você precisa fazer um cruzamento de informações, na página de categoria do wordpress, onde vai mostrar a categoria inferior, de um determinado post type, segue código abaixo:

1 – Exibindo nome da categoria inferior na listagem do post:

<?php
global $categoria_atual_id;
$product_id = get_the_ID();
$taxonomy_slug = 'marca';

if (has_term('', $taxonomy_slug, $product_id)) {
    $terms = get_the_terms($product_id, $taxonomy_slug);
    foreach ($terms as $term) {
        if ($term->parent == $categoria_atual_id) {
            // Mostrar o nome da categoria de nível inferior
            echo '<p class="categoria_nivel_abaixo">'.$term->name.'</p>';
            break;
        }
    }
}

2 – Verificando nível da categoria:

Alem disso, você pode fazer uma verificação de níveis no wordpress, para retornar o código apenas se a categoria acessada tiver um nível correspondente.

Neste exemplo abaixo, verifico se a categoria é uma categoria primaria ou de nível 2, se for primaria, não retorna nada, se for de nível 2 continua o código:

<?php
global $categoria_atual_id;
$product_id = get_the_ID();
$taxonomy_slug = 'marca';

if (has_term('', $taxonomy_slug, $product_id) && verificar_nivel_categoria_atual($categoria_atual_id, $taxonomy_slug) === 2) {
    $terms = get_the_terms($product_id, $taxonomy_slug);
    foreach ($terms as $term) {
        if ($term->parent == $categoria_atual_id) {
            // Mostrar o nome da categoria de nível 3
            echo '<p class="categoria_nivel_3">'.$term->name.'</p>';
            break;
        }
    }
}

Segue abaixo o código PHP da função verificar_nivel_categoria_atual usada acima:

<?php
function verificar_nivel_categoria_atual($categoria_atual_id, $taxonomy_slug) {
	if (!empty($categoria_atual_id)) {
		$categoria_atual = get_term($categoria_atual_id, $taxonomy_slug);

		if ($categoria_atual && !is_wp_error($categoria_atual)) {
			$nivel = 1; // Inicialmente, consideramos nível 1

			if ($categoria_atual->parent != 0) {
				$categoria_pai = get_term($categoria_atual->parent, $taxonomy_slug);

				if ($categoria_pai && !is_wp_error($categoria_pai)) {
					$nivel = 2; // Se tem pai, é nível 2

					if ($categoria_pai->parent != 0) {
						$nivel = 3; // Se o pai também tem pai, é nível 3
					}
				}
			}

			return $nivel;
		}
	}
}

Publicações recomendadas:



Link Direto

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link direto abaixo. Basta copiar.

bruno.art.br/?p=4669

ID de Referência: 4669

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato