post

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:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para Compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/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


Comentários