Product with shortout with category
Tue Apr 04 2023 11:47:43 GMT+0000 (Coordinated Universal Time)
Saved by @hamzahanif192
function product_loop($atts) { ob_start(); wp_reset_postdata(); ?> <?php extract(shortcode_atts(array( 'category' => '' ), $atts)); $arg = array( 'post_type' => 'product', 'posts_per_page' => 12, 'tax_query' => array( array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $atts['category'] ) ) ); $sliderPost = new WP_Query($arg); ?> <div class="row"> <?php if ($sliderPost->have_posts()) : ?> <?php while ($sliderPost->have_posts()) : ?> <?php $sliderPost->the_post(); ?> <?php $url = wp_get_attachment_url(get_post_thumbnail_id($sliderPost->ID)); global $product; ?> <div class="col-lg-3 col-md-4 col-sm-6"> <div class="productWrap"> <div class="productImg"> <?php if($product->get_stock_status() == 'outofstock'){ ?> <div class="outofstock">Out of Stock</div> <?php } else{ if(!$product->get_sale_price()){?> <div class="regular_price">New</div> <?php } elseif($product->get_sale_price()) {?> <div class="sale_price">Sale</div> <?php } } ?> <a href="<?php echo get_permalink( $product->get_id() ); ?>"> <?php echo $product->get_image('full'); ?> </a> <div class="cartBtn"> <a href="<?php echo get_site_url(); ?>/cart/?add-to-cart=<?php echo $product->get_ID(); ?>"> <span>Add To Cart</span> </a> </div> </div> <div class="product_content"> <div class="priceProduct"> <a href="<?php echo get_permalink( $product->get_id() ); ?>"> <h4><?php echo $product->get_title(); ?></h4> </a> <?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']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation. $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; } echo "$" . ($regular_price + $sales_price); } ?> </div> <?php if($product->get_average_rating() != 0){ ?> <div class="ratingStar producRating-<?php echo round($product->get_average_rating()) ?>"></div> <?php } ?> </div> </div> </div> <?php endwhile; ?> <?php endif; ?> </div> <?php wp_reset_postdata(); return '' . ob_get_clean(); } add_shortcode('product_code', 'product_loop');
Comments