[Theme: Avada] Seperating child categories from parent in portfolio filters
-
Right now, all categories are displayed inline with each other. I would like to have the parent categories displayed on top and when a parent is selected, display it’s child categories underneath like so:
PARENT1 PARENT2 PARENT3
————————————————————-
Parent1Child1 Parent1Child2 etc.
————————————————————-<?php if(is_front_page()) { $paged = (get_query_var('page')) ? get_query_var('page') : 1; } else { $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; } $args = array( 'post_type' => 'avada_portfolio', 'paged' => $paged, 'posts_per_page' => $data['portfolio_items'], ); $pcats = get_post_meta(get_the_ID(), 'pyre_portfolio_category', true); if($pcats && $pcats[0] == 0) { unset($pcats[0]); } if($pcats){ $args['tax_query'][] = array( 'taxonomy' => 'portfolio_category', 'field' => 'ID', 'terms' => $pcats, 'parent' => '', 'hierarchical' => 1 ); } $gallery = new WP_Query($args); if(is_array($gallery->posts) && !empty($gallery->posts)) { foreach($gallery->posts as $gallery_post) { $post_taxs = wp_get_post_terms($gallery_post->ID, 'portfolio_category', array("fields" => "all")); if(is_array($post_taxs) && !empty($post_taxs)) { foreach($post_taxs as $post_tax) { if(is_array($pcats) && !empty($pcats) && (in_array($post_tax->term_id, $pcats) || in_array($post_tax->parent, $pcats )) ) { $portfolio_taxs[urldecode($post_tax->slug)] = $post_tax->name; } if(empty($pcats) || !isset($pcats)) { $portfolio_taxs[urldecode($post_tax->slug)] = $post_tax->name; } } } } } $all_terms = get_terms('portfolio_category'); if( !empty( $all_terms ) && is_array( $all_terms ) ) { foreach( $all_terms as $term ) { if( $portfolio_taxs[urldecode($term->slug)] ) { $sorted_taxs[urldecode($term->slug)] = $term->name; } } } $portfolio_taxs = $sorted_taxs; $portfolio_category = get_terms('portfolio_category'); if(is_array($portfolio_taxs) && !empty($portfolio_taxs) && get_post_meta($post->ID, 'pyre_portfolio_filters', true) != 'no'): ?> <ul class="portfolio-tabs clearfix"> <li class="active"><a data-filter="*" href="#"><?php echo __('All', 'Avada'); ?></a></li> <?php foreach($portfolio_taxs as $portfolio_tax_slug => $portfolio_tax_name): ?> <li><a data-filter=".<?php echo $portfolio_tax_slug; ?>" href="#"><?php echo $portfolio_tax_name; ?></a></li> <?php endforeach; ?> </ul> <?php endif; ?> <div class="portfolio-wrapper"> <?php while($gallery->have_posts()): $gallery->the_post(); if($pcats) { $permalink = tf_addUrlParameter(get_permalink(), 'portfolioID', $current_page_id); } else { $permalink = get_permalink(); } if(has_post_thumbnail() || get_post_meta($post->ID, 'pyre_video', true)): ?> <?php $item_classes = ''; $item_cats = get_the_terms($post->ID, 'portfolio_category'); if($item_cats): foreach($item_cats as $item_cat) { $item_classes .= urldecode($item_cat->slug) . ' '; } endif; ?> <div class="portfolio-item <?php echo $item_classes; ?>"> <?php if(has_post_thumbnail()): ?> <div class="image" aria-haspopup="true"> <?php if($data['image_rollover']): ?> <?php the_post_thumbnail('portfolio-four'); ?> <?php else: ?> <a href="<?php echo $permalink; ?>"><?php the_post_thumbnail('portfolio-four'); ?></a> <?php endif; ?> <div class="image-extras"> <div class="image-extras-content"> <?php if(get_post_meta($post->ID, 'pyre_image_rollover_icons', true) == 'link') { $link_icon_css = 'display:inline-block;'; $zoom_icon_css = 'display:none;'; } elseif(get_post_meta($post->ID, 'pyre_image_rollover_icons', true) == 'zoom') { $link_icon_css = 'display:none;'; $zoom_icon_css = 'display:inline-block;'; } elseif(get_post_meta($post->ID, 'pyre_image_rollover_icons', true) == 'no') { $link_icon_css = 'display:none;'; $zoom_icon_css = 'display:none;'; } else { $link_icon_css = 'display:inline-block;'; $zoom_icon_css = 'display:inline-block;'; } $link_target = ""; $icon_url_check = get_post_meta(get_the_ID(), 'pyre_link_icon_url', true); if(!empty($icon_url_check)) { $icon_permalink = get_post_meta($post->ID, 'pyre_link_icon_url', true); if(get_post_meta(get_the_ID(), 'pyre_link_icon_target', true) == "yes") { $link_target = ' target="_blank"'; } } else { $icon_permalink = $permalink; } ?> <?php $full_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full'); ?> <a style="<?php echo $link_icon_css; ?>" class="icon link-icon" href="<?php echo $icon_permalink; ?>"<?php echo $link_target; ?>>Permalink</a> <?php if(get_post_meta($post->ID, 'pyre_video_url', true)) { $full_image[0] = get_post_meta($post->ID, 'pyre_video_url', true); } ?> <a style="<?php echo $zoom_icon_css; ?>" class="icon gallery-icon" href="<?php echo $full_image[0]; ?>" rel="prettyPhoto[gallery]" title="<?php echo get_post_field('post_excerpt', get_post_thumbnail_id($post->ID)); ?>"><img style="display:none;" alt="<?php echo get_post_meta(get_post_thumbnail_id($post->ID), '_wp_attachment_image_alt', true); ?>" />Gallery</a> <h3><?php the_title(); ?></h3> <h4><?php echo get_the_term_list($post->ID, 'portfolio_category', '', ', ', ''); ?></h4> </div> </div> </div> <?php endif; ?> <div class="portfolio-content"> <h2 class="entry-title" style="text-align:center;><a href="<?php echo $permalink; ?>"><?php the_title(); ?></a></h2> <h4><?php echo get_the_term_list($post->ID, 'portfolio_category', '', ', ', ''); ?></h4> <div class="post-content"> <?php if(get_post_meta($current_page_id, 'pyre_portfolio_excerpt', true)) { $excerpt_length = get_post_meta($current_page_id, 'pyre_portfolio_excerpt', true); } else { $excerpt_length = $data['excerpt_length_portfolio']; } ?> <?php if($data['portfolio_content_length'] == 'Excerpt') { $stripped_content = strip_shortcodes( tf_content( $excerpt_length, $data['strip_html_excerpt'] ) ); echo $stripped_content; } else { the_content(); } ?> </div> </div> </div> <?php endif; endwhile; ?> </div> <?php themefusion_pagination($gallery->max_num_pages, $range = 2); ?> </div>
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘[Theme: Avada] Seperating child categories from parent in portfolio filters’ is closed to new replies.