Quantcast
Channel: Loop through custom taxonomies and display posts - WordPress Development Stack Exchange
Viewing all articles
Browse latest Browse all 5

Answer by epicrato for Loop through custom taxonomies and display posts

$
0
0

Copy and paste this function in your functions.php

if ( ! function_exists( 'display_all_products_from_all_categories' ) ) {    function display_all_products_from_all_categories() {        // Get all the categories for Custom Post Type Product        $args = array( 'post_type' => 'product', 'orderby' => 'id', 'order' => 'ASC'        );        $categories = get_categories( $args );        foreach ($categories as $category) {            ?><div class="<?php echo $category->slug; ?>"><!-- Get the category title --><h3 class="title"><?php echo $category->name; ?></h3><!-- Get the category description --><div class="description"><p><?php echo category_description( get_category_by_slug($category->slug)->term_id ); ?></p></div><ul class="mhc-product-grid"><?php                        // Get all the products of each specific category                        $product_args = array('post_type'     => 'product','orderby'      => 'id','order'         => 'ASC','post_status'   => 'publish','category_name' => $category->slug //passing the slug of the current category                        );                        $product_list = new WP_Query ( $product_args );                    ?><?php while ( $product_list -> have_posts() ) : $product_list -> the_post(); ?><li class="product <?php the_field( 'product_flavor' ); ?>"><a href="<?php the_permalink(); ?>" class="product-link"><!-- if the post has an image, show it --><?php if( has_post_thumbnail() ) : ?><?php the_post_thumbnail( 'full', array( 'class' => 'img', 'alt' => get_the_title() ) ); ?><?php endif; ?><!-- custom fields: product_flavor, product_description ... --><h3 class="title <?php the_field( 'product_flavor' ); ?>"><?php the_title(); ?></h3><p class="description"><?php the_field( 'product_description' ); ?></p></a></li><?php endwhile; wp_reset_query(); ?></ul></div><?php        }    }}

Then call it from anywhere in your template with:

display_all_products_from_all_categories();

Viewing all articles
Browse latest Browse all 5

Trending Articles





<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>