Woocommerce Custom Category with Shortcode
Thu Aug 22 2024 00:09:28 GMT+0000 (Coordinated Universal Time)
Saved by @wasim_mm1
<?php // ADD SHORTCODE [latest_products category='banner' type='' taxonomy='product_cat' posts_per_page="1"]; add_shortcode('latest_products', 'codex_latest_products'); function codex_latest_products($atts) { ob_start(); extract(shortcode_atts( array( 'category' => '', 'taxonomy' => '', 'type' => 'product', 'posts_per_page' => '12', ), $atts)); ?> <section id="home"> <div class="container-fluid"> <div class="row ser-content product-slider"> <?php // WP_Query arguments; $category = explode(',', $category); $args = array( 'post_type' => $type, 'post_status' => 'publish', 'order' => 'DESC', 'posts_per_page' => $posts_per_page, 'tax_query' => array( array( 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $category, ) ) ); // echo "<pre>"; // print_r($args); $po = new WP_Query($args); ?> <?php if ($po->have_posts()) : ?> <?php while ($po->have_posts()) : ?> <?php $po->the_post(); ?> <div class="col-md-3"> <div class="product_col"> <div class="product_inner"> <div class="product_img"> <?php the_post_thumbnail('full'); ?> </div> <div class="product_title"> <h4><?php echo esc_html(get_the_title()); ?></h4> </div> <div class="product_bottom"> <div class="detail-btn"><a class="prCart" href="<?php echo esc_url( get_site_url() . '/cart/?add-to-cart=' . $product->get_id() ); ?>">See Detail<span class="list-icon wd-icon far fa-eye"></span></a></div> <div class="price_product"> <?php if ($product->is_type( 'simple' )) { ?> <?php echo $product->get_price_html(); ?> <?php } ?> <?php if($product->get_type()=='variable') { $available_variations = $product->get_available_variations(); $variation_id=$available_variations[0]['variation_id']; $variable_product1= new WC_Product_Variation( $variation_id ); $regular_price = $variable_product1 ->regular_price; $sales_price = $variable_product1 -> sale_price; if (empty($sales_price)) { $sales_price = 0; } } ?> </div> </div> </div> </div> </div> <?php endwhile; endif; ?> </div> </div> </section> <?php wp_reset_postdata(); return ob_get_clean(); }
Comments