/wp-content/plugins/essential-addons-for-elementor-lite/includes/Template/Woo-Product-Carousel/preset-3.php

https://gitlab.com/campus-academy/krowkaramel · PHP · 108 lines · 93 code · 10 blank · 5 comment · 20 complexity · 3060ff2460a868b0cdec7a8154356c9c MD5 · raw file

  1. <?php
  2. use \Essential_Addons_Elementor\Classes\Helper;
  3. /**
  4. * Template Name: Preset 3
  5. */
  6. use Essential_Addons_Elementor\Elements\Woo_Product_carousel;
  7. if ( ! defined( 'ABSPATH' ) ) {
  8. exit;
  9. } // Exit if accessed directly
  10. $product = wc_get_product( get_the_ID() );
  11. if ( ! $product ) {
  12. error_log( '$product not found in ' . __FILE__ );
  13. return;
  14. }
  15. // Improvement
  16. $sale_badge_align = isset( $settings['eael_product_sale_badge_alignment'] ) ? $settings['eael_product_sale_badge_alignment'] : '';
  17. $sale_badge_preset = isset($settings['eael_product_sale_badge_preset']) ? $settings['eael_product_sale_badge_preset'] : '';
  18. $sale_text = !empty($settings['eael_product_carousel_sale_text']) ? $settings['eael_product_carousel_sale_text'] : 'Sale!';
  19. $stockout_text = !empty($settings['eael_product_carousel_stockout_text']) ? $settings['eael_product_carousel_stockout_text'] : 'Stock Out';
  20. // should print vars
  21. $should_print_rating = isset( $settings['eael_product_carousel_rating'] ) && 'yes' === $settings['eael_product_carousel_rating'];
  22. $should_print_quick_view = isset( $settings['eael_product_carousel_quick_view'] ) && 'yes' === $settings['eael_product_carousel_quick_view'];
  23. $should_print_image_clickable = isset( $settings['eael_product_carousel_image_clickable'] ) && 'yes' === $settings['eael_product_carousel_image_clickable'];
  24. $should_print_price = isset( $settings['eael_product_carousel_price'] ) && 'yes' === $settings['eael_product_carousel_price'];
  25. $should_print_excerpt = isset( $settings['eael_product_carousel_excerpt'] ) && ('yes' === $settings['eael_product_carousel_excerpt'] && has_excerpt());
  26. $widget_id = isset($settings['eael_widget_id']) ? $settings['eael_widget_id'] : null;
  27. $quick_view_setting = [
  28. 'widget_id' => $widget_id,
  29. 'product_id' => $product->get_id(),
  30. 'page_id' => $settings['eael_page_id'],
  31. ];
  32. if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
  33. ?>
  34. <li <?php post_class( ['product', 'swiper-slide'] ); ?>>
  35. <div class="eael-product-carousel">
  36. <div class="product-image-wrap">
  37. <div class="image-wrap">
  38. <?php
  39. echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$sale_badge_preset.' '.$sale_badge_align.'">'. $stockout_text .'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$sale_badge_preset.' '.$sale_badge_align.'">' . $sale_text . '</span>' : '') );
  40. if( $should_print_image_clickable ) {
  41. echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
  42. }
  43. echo $product->get_image($settings['eael_product_carousel_image_size_size'], ['loading' => 'eager']);
  44. if( $should_print_image_clickable ) {
  45. echo '</a>';
  46. }
  47. ?>
  48. </div>
  49. <div class="image-hover-wrap">
  50. <ul class="icons-wrap block-style">
  51. <li class="add-to-cart"><?php woocommerce_template_loop_add_to_cart(); ?></li>
  52. <?php if( $should_print_quick_view ){?>
  53. <li class="eael-product-quick-view">
  54. <a id="eael_quick_view_<?php echo uniqid(); ?>" data-quickview-setting="<?php echo htmlspecialchars(json_encode($quick_view_setting),ENT_QUOTES); ?>"
  55. class="open-popup-link">
  56. <i class="fas fa-eye"></i>
  57. </a>
  58. </li>
  59. <?php } ?>
  60. <li class="view-details"><?php echo '<a href="' . $product->get_permalink() . '"><i class="fas fa-link"></i></a>'; ?></li>
  61. </ul>
  62. <?php
  63. ?>
  64. </div>
  65. </div>
  66. <div class="product-details-wrap">
  67. <?php
  68. if ( $settings['eael_product_carousel_show_title'] ) {
  69. echo '<div class="eael-product-title">';
  70. echo '<' . Helper::eael_validate_html_tag( $settings['eael_product_carousel_title_tag'] ) . '>';
  71. if ( empty( $settings['eael_product_carousel_title_length'] ) ) {
  72. echo Helper::eael_wp_kses( $product->get_title() );
  73. } else {
  74. echo implode( " ", array_slice( explode( " ", $product->get_title() ), 0, $settings['eael_product_carousel_title_length'] ) );
  75. }
  76. echo '</' . Helper::eael_validate_html_tag( $settings['eael_product_carousel_title_tag'] ) . '>';
  77. echo '</div>';
  78. }
  79. ?>
  80. <?php if($should_print_price ){
  81. echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
  82. }?>
  83. <?php if ($should_print_rating) {
  84. echo wc_get_rating_html
  85. ($product->get_average_rating(), $product->get_rating_count());
  86. }
  87. if ( $should_print_excerpt ) {
  88. echo '<div class="eael-product-excerpt">';
  89. echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt()), $settings['eael_product_carousel_excerpt_length'],
  90. $settings['eael_product_carousel_excerpt_expanison_indicator']) . '</p>';
  91. echo '</div>';
  92. }
  93. ?>
  94. </div>
  95. </div>
  96. </li>
  97. <?php
  98. }