1jQuery(document).ready(function($){ 2 3 4 // ! Adds Heading to Cart 5 if ($(".elementor-menu-cart__main")) { 6 $(".elementor-menu-cart__close-button").after( 7 '<h5 class="crp-title cart_title">Shopping Bag</h5>' 8 ); 9 } 10 11 12 13 //! Triggered When Product is Added to Cart 14 $(document.body).on( 15 "added_to_cart", 16 function (e, fragments, cart_hash, this_button) { 17 18 this_button.remove(); 19 20 // AJAX Add Related Product to Mini Cart or Cart Page 21 $.ajax({ 22 url: crp_ajax_obj.admin_url, 23 type: "post", 24 data: { 25 action: "add_related_products_to_cart", 26 product_id: this_button.data("product_id"), 27 }, 28 success: function (response) { 29 // console.log(JSON.parse(response)); 30 add_related_products_to_mini_cart(JSON.parse(response)); 31 }, 32 }); 33 } 34 ); 35 36 //! Triggered at page load 37 $.ajax({ 38 url: crp_ajax_obj.admin_url, 39 type: "post", 40 data: { 41 action: "add_related_products_to_cart", 42 }, 43 success: function (response) { 44 // console.log( 45 // "file: cart-related-products.js ~ line 34 ~ jQuery ~ response", 46 // JSON.parse(response) 47 // ); 48 add_related_products_to_mini_cart(JSON.parse(response)); 49 }, 50 }); 51 52 // Append Title. If cart is empty, hide it. 53 $(".elementor-menu-cart__main").append( 54 ` 55 <li class="elementor-icon-list-item money-back"> 56 <span class="elementor-icon-list-icon"> 57 <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="m12 0c6.6274166 0 12 5.37258282 12 12 0 6.6274166-5.3725834 12-12 12-6.62741718 0-12-5.3725834-12-12 0-6.62741718 5.37258282-12 12-12zm0 1.2c-5.96467552 0-10.8 4.83532448-10.8 10.8 0 5.9646755 4.83532448 10.8 10.8 10.8 5.9646755 0 10.8-4.8353245 10.8-10.8 0-2.15105328-.6288598-4.155229-1.712764-5.83870754l-9.0144435 9.01444294c-.7029431.7029442-1.8426396.7029454-2.54558379.0000012l-3.95147267-3.951472c-.23431492-.2343155-.23431492-.6142137 0-.8485292.23431435-.2343142.61421357-.2343142.84852792 0l3.95147264 3.9514733c.2343143.2343132.6142125.2343143.848528-.0000012l9.148963-9.1489631c-1.9804069-2.4278821-4.9957636-3.9782444-8.3732276-3.9782444z" fill="#7b6ceb"></path></svg> 58 </span> 59 <span class="elementor-icon-list-text">30-Day Money-Back Guarantee</span> 60 </li> 61 <div class="crp-wrapper"> 62 <h5 class="crp-title" style="${ 63 crp_ajax_obj.is_cart_empty ? "display:none" : "" 64 }">Recommended Lessons You May Like!</h5> 65 66 <div class="tutor-courses-wrap lytbox-mini-cart"></div> 67 </div> 68 ` 69 ); 70 71 // ! Functions 72 // Append Course Cards HTML 73 function add_related_products_to_mini_cart(response) { 74 if (response.length) { 75 // Display title 76 $(".crp-title").css("display", "block"); 77 78 // If Related Products is added remove before add new ones 79 $(".elementor-menu-cart__main .tutor-course-col").remove(); 80 $(".tutor-course-col.lytbox-course-card").remove(); 81 82 response.forEach((card, i) => { 83 const courseHTML = ` 84 <div class="tutor-course-col lytbox-course-card"> 85 <div class="tutor-course"> 86 <div class="tutor-course-header"> 87 <a href="${card.course_permalink}">${card.course_thumbnail}</a> 88 <div class="tutor-course-loop-header-meta"> 89 <span class="tutor-course-loop-level">${card.course_level}</span> 90 <span class="tutor-course-wishlist"><a href="javascript:;" class="tutor-icon-fav-line tutor-course-wishlist-btn ${card.has_wish_list} " data-course-id="${card.course_id}"></a> </span> 91 </div> 92 </div> 93 94 <div class="tutor-course-body"> 95 <!-- Course Raiting --> 96 <div class="tutor-loop-rating-wrap ${card.course_rating}"> 97 <div class="tutor-star-rating-group"> 98 ${card.course_stars} 99 <div class="tutor-rating-gen-input"><input type="hidden" name="tutor_rating_gen_input" value="${card.course_rating_avg}"> </div> 100 </div>
101 <span class="tutor-rating-count">${card.course_rating_avg} <i>(${card.course_rating_count})</i> </span> 102 </div> 103 104 <!-- Course Title --> 105 <h3> 106 <a href="${card.course_permalink}">${card.course_title}</a> 107 </h3> 108 109 <!-- Course Author --> 110 <div class="tutor-loop-author"> 111 <div class="tutor-single-course-avatar"> 112 <a href="${card.author_url}"> ${card.author_avatar} </a> 113 </div> 114 <div class="tutor-single-course-author-name"> 115 <span>by</span> 116 <a href="${card.author_url}">${card.author}</a> 117 </div> 118 <div class="tutor-course-lising-category"> </div> 119 </div> 120 121 <div class="tutor-loop-course-footer etlms-carousel-footer" style=" display:block; "> 122 123 <div class="tutor-course-loop-price"> 124 <div class="price"> 125 <div class=""price-inner> 126 <span class="woocommerce-Price-amount amount sale-price ${card.is_on_sale}"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${card.product_sale_price}</bdi></span> 127 <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${card.product_price}</bdi></span> 128 </div> 129 <div class="etlms-loop-cart-btn-wrap"> 130 <a href="?add-to-cart=${card.product_id}" data-quantity="1" class="product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="${card.product_id}" data-product_sku="" aria-label="Add â${card.course_title}â to your cart" rel="nofollow">Add to cart</a></div> 131 132 </div> 133 </div> 134 135 </div> 136 </div> 137 </div> 138 </div> 139 `; 140 141 if (i >= 6) { 142 return; 143 } 144 // Append Course HTML on Mini Cart 145 $(".elementor-menu-cart__main .tutor-courses-wrap").append(courseHTML); 146 // Append on Cart Page 147 if (crp_ajax_obj.is_cart) { 148 $(".tutor-courses-wrap.lytbox-cart-page").append(courseHTML); 149 } 150 }); 151 152 } 153 } 154 155 156}); 157 158 159 160/* 161 162 const courseHTML = ` 163 <div class="col-lg-4 col-sm-6 tutor-course-col"> 164 <div class="tutor-course"> 165 <div class="tutor-course-header"> 166 <a href="/courses/${element.post_name}/"> ${element.product_image} </a> 167 <div class="tutor-course-loop-header-meta"> 168 <span class="tutor-course-loop-level">All Levels</span> 169 <span class="tutor-course-wishlist"> 170 <a href="javascript:;" class="tutor-icon-fav-line tutor-course-wishlist-btn " data-course-id="${element.ID}"></a> 171 </span> 172 </div> 173 </div> 174 <div class="tutor-course-body"> 175 <h3> 176 <a href="/courses/${element.post_name}/">${element.post_title}</a> 177 </h3> 178 <a href="http://local-jiu-jitsu-x.local/profile/jonblank" class="tutor-course-author">Jon Blank</a> 179 <div class="tutor-loop-rating-wrap no-rating"> 180 <div class="tutor-star-rating-group"> 181 <i class="tutor-icon-star-line" data-rating-value="1"></i><i class="tutor-icon-star-line" data-rating-value="2"></i><i class="tutor-icon-star-line" data-rating-value="3"></i><i class="tutor-icon-star-line" data-rating-value="4"></i><i class="tutor-icon-star-line" data-rating-value="5"></i> 182 <div class="tutor-rating-gen-input">
182<input type="hidden" name="tutor_rating_gen_input" value="0"> </div> 183 </div> 184 <span class="tutor-rating-count"> 0<i>(0)</i> </span> 185 </div> 186 187 <div class="tutor-course-pricing clearfix"> 188 <div class="tutor-course-loop-price"> 189 <div class="price"> 190 <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${element.product_price}.00</bdi></span> 191 <div class="tutor-loop-cart-btn-wrap"> 192 <a href="?add-to-cart=${element.ID}" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="${element.ID}" data-product_sku="" aria-label="Add â${element.post_title}â to your cart" rel="nofollow">Add to cart</a> 193 </div> 194 </div> 195 </div> 196 </div> 197 </div> 198 </div> 199 </div> 200 `; 201 202 203*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.