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
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.