post
Obtendo listagem de categorias hierárquicas personalizadas com PHP + JetPlugins no WordPress
Publicado em: 22/04/2023
Caso esteja construindo um site em WordPress, principalmente usando Elementor usando o JetPlugins, e precise customizar a maneira como esses plugins trazem as categorias, esse post pode lhe ajudar.
Primeiro recomendo que instale o plugin WPCode para criarmos um shortcode rapido que possa ser usado no Elementor, como mostra abaixo:

Criando um shortcode novo em branco, cole o código abaixo:
<?php $taxonomy_slug = 'marca'; //Trocar pelo Slug da categoria $post_id = get_the_ID(); // obter o ID do post atual //Ou, caso esteja usando um loop (Listing Grid) com o Plugin JetEngine: //$post_id = do_shortcode('[jet_engine_data dynamic_field_post_object="post_id" dynamic_field_custom=""]'); $terms = get_the_terms($post_id, $taxonomy_slug); if ($terms && !is_wp_error($terms)) { echo '<ul class="ul-list-custom-categorias">'; wp_list_categories(array( 'taxonomy' => $taxonomy_slug, 'hide_empty' => false, 'hierarchical' => true, 'title_li' => '', 'include' => wp_list_pluck($terms, 'term_id'), 'walker' => new Custom_construct_link_category, )); echo '</ul>'; } class Custom_construct_link_category extends Walker_Category { function start_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class='subcategories'>\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>\n"; } function start_el(&$output, $category, $depth = 0, $args = array(), $id = 0) { $cat_name = esc_attr($category->name); $cat_slug = esc_attr($category->slug); if($depth === 0) { // (0) Categoria principal / (1, 2, 3, etc...) Subcategoria em diante $link = '<a href="' . esc_url(get_term_link($category)) . '" class="a-link-custom-lvl-1">' . $cat_name . '</a>'; } else { $link = '<a href="' . esc_url(get_term_link($category)) . '" class="a-link-custom-lvl-2">' . $cat_name . '</a>'; } $output .= sprintf("\n<li>%s</li>", $link); } }
Pronto! Agora é só copiar o shortcode gerado pelo plugin, e colar em sua pagina personalizada com Elementor.
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/2723
ID de Referência: 2723
Sugira uma publicação
Envie uma mensagem para mim, e sugira alguma publicação de algum tema que tenha dificuldades de resolver.