post

Listar apenas subcategorias (categorias descendentes) do post WordPress com PHP

Publicado em: 05/05/2023

Categorias: BlogPHPWordpress
// tipo-do-projeto
$post_id = get_the_ID();
$tipo_tax = 'tipo-do-projeto';

// Obtém todas as categorias associadas ao post personalizado (CPT)
$categories = get_the_terms($post_id, $tipo_tax);

// Se houver pelo menos uma categoria
if ($categories) {
  // Define um array para armazenar as subcategorias
  $subcategories = array();

  // Itera sobre cada categoria
  foreach ($categories as $category) {

    // Obtém a categoria pai (categoria ascendente)
    if ($category->parent) {
      $parent_category = get_term($category->parent, $tipo_tax);
      $categories_p = $parent_category->slug;
    }

    // Obtém o ID da categoria
    $category_id = $category->term_id;

    // Obtém os IDs das categorias descendentes
    $child_ids = get_term_children($category_id, $tipo_tax);

    // Se houver pelo menos uma categoria descendente
    if ($child_ids) {
      // Itera sobre cada categoria descendente
      foreach ($child_ids as $child_id) {
        // Verifica se a categoria descendente está associada ao post
        if (has_term($child_id, $tipo_tax, $post_id)) {
          // Adiciona a categoria descendente ao array de subcategorias
          $subcategories[] = get_term($child_id);
        }
      }
    }
  }

  // Exibe as subcategorias
  $html = '<span class="container-subcategorias categoria-principal-' . $categories_p . '">';
  foreach ($subcategories as $subcategory) {
    $html .= '<span class="nome-subcategoria">' . $subcategory->name . '</span>';
  }
  $html .= '</span>';
  echo $html;
}


Link de 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/2794

ID de Referência: 2794

Sugira uma publicação

Envie uma mensagem para mim, e sugira alguma publicação de algum tema que tenha dificuldades de resolver.

Clique aqui e entre em contato


Comentários