enrolled
5 days ago
add-to-cart-edd.php
5 days ago
add-to-cart-tutor.php
11 months ago
add-to-cart-woocommerce.php
1 year ago
continue-lesson.php
3 years ago
course-benefits.php
2 months ago
course-content.php
2 months ago
course-entry-box.php
5 days ago
course-requirements.php
2 months ago
course-target-audience.php
2 months ago
course-topics.php
5 days ago
instructors.php
3 years ago
lead-info.php
9 months ago
material-includes.php
2 months ago
q_and_a_turned_off.php
3 years ago
reviews-loop.php
5 days ago
reviews.php
5 days ago
social_share.php
3 years ago
tags.php
3 years ago
wc-price-html.php
3 years ago
add-to-cart-tutor.php
94 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Tutor add to cart for WC product that will be visible on the course details page |
| 4 | * |
| 5 | * @package Tutor\Templates |
| 6 | * @subpackage Single\Course |
| 7 | * @author Themeum <support@themeum.com> |
| 8 | * @link https://themeum.com |
| 9 | * @since 1.4.3 |
| 10 | */ |
| 11 | |
| 12 | use Tutor\Ecommerce\CartController; |
| 13 | use Tutor\Ecommerce\CheckoutController; |
| 14 | use Tutor\Ecommerce\Settings; |
| 15 | use Tutor\Ecommerce\Tax; |
| 16 | use Tutor\Models\CartModel; |
| 17 | |
| 18 | $course_id = get_the_ID(); |
| 19 | $is_logged_in = is_user_logged_in(); |
| 20 | $user_id = get_current_user_id(); |
| 21 | $enable_guest_course_cart = false; |
| 22 | $required_loggedin_class = Settings::is_buy_now_enabled() ? '' : 'tutor-native-add-to-cart'; |
| 23 | if ( ! $is_logged_in && ! $enable_guest_course_cart ) { |
| 24 | $required_loggedin_class = apply_filters( 'tutor_enroll_required_login_class', 'tutor-open-login-modal' ); |
| 25 | } |
| 26 | |
| 27 | $is_course_in_user_cart = CartModel::is_course_in_user_cart( $user_id, $course_id ); |
| 28 | $cart_page_url = CartController::get_page_url(); |
| 29 | |
| 30 | $price_info = tutor_utils()->get_raw_course_price( $course_id ); |
| 31 | $regular_price = $price_info->regular_price; |
| 32 | $sale_price = $price_info->sale_price; |
| 33 | $display_price = $price_info->display_price; |
| 34 | |
| 35 | $buy_now = Settings::is_buy_now_enabled(); |
| 36 | $buy_now_link = add_query_arg( array( 'course_id' => $course_id ), CheckoutController::get_page_url() ); |
| 37 | |
| 38 | ?> |
| 39 | <div> |
| 40 | <div class="tutor-course-sidebar-card-pricing tutor-d-flex tutor-align-end tutor-justify-between"> |
| 41 | <?php ob_start(); ?> |
| 42 | <div> |
| 43 | <span class="tutor-fs-4 tutor-fw-bold tutor-color-black"> |
| 44 | <?php tutor_print_formatted_price( $display_price ); ?> |
| 45 | </span> |
| 46 | <?php if ( $regular_price && $sale_price && $sale_price !== $regular_price ) : ?> |
| 47 | <del class="tutor-fs-7 tutor-color-muted tutor-ml-8"> |
| 48 | <?php tutor_print_formatted_price( $regular_price ); ?> |
| 49 | </del> |
| 50 | <?php endif; ?> |
| 51 | </div> |
| 52 | </div> |
| 53 | <?php if ( $price_info->show_incl_tax_label ) : ?> |
| 54 | <div class="tutor-course-price-tax tutor-fs-8 tutor-fw-normal tutor-color-black"><?php esc_html_e( 'Incl. tax', 'tutor' ); ?></div> |
| 55 | <?php endif; ?> |
| 56 | <?php |
| 57 | /** |
| 58 | * Added to show info about price. |
| 59 | * |
| 60 | * @since 2.2.0 |
| 61 | */ |
| 62 | do_action( 'tutor_after_course_details_tutor_cart_price', $course_id ); |
| 63 | ?> |
| 64 | <?php echo apply_filters( 'tutor_after_course_details_tutor_add_to_cart_price', ob_get_clean(), $course_id ); //phpcs:ignore ?> |
| 65 | </div> |
| 66 | <?php |
| 67 | ob_start(); |
| 68 | if ( $is_course_in_user_cart && ! $buy_now ) { |
| 69 | ?> |
| 70 | |
| 71 | <a data-cy="tutor-native-view-cart" href="<?php echo esc_url( $cart_page_url ? $cart_page_url : '#' ); ?>" class="tutor-btn tutor-btn-outline-primary tutor-mt-24 tutor-btn-lg tutor-btn-block <?php echo esc_attr( $cart_page_url ? '' : 'tutor-cart-page-not-configured' ); ?>"> |
| 72 | <?php esc_html_e( 'View Cart', 'tutor' ); ?> |
| 73 | </a> |
| 74 | <?php |
| 75 | } elseif ( $buy_now ) { |
| 76 | ?> |
| 77 | <div class="tutor-mt-24"> |
| 78 | <a data-cy="tutor-buy-now" href="<?php echo esc_url( $buy_now_link ); ?>" class="tutor-btn tutor-btn-primary tutor-btn-lg tutor-btn-block <?php echo esc_attr( $required_loggedin_class ); ?>"> |
| 79 | <?php esc_html_e( 'Buy Now', 'tutor' ); ?> |
| 80 | </a> |
| 81 | </div> |
| 82 | <?php |
| 83 | } else { |
| 84 | ?> |
| 85 | <div class="tutor-mt-24"> |
| 86 | <button type="button" data-cy="tutor-native-add-to-cart" class="tutor-btn tutor-btn-primary tutor-btn-lg tutor-btn-block <?php echo esc_attr( $required_loggedin_class ); ?>" data-course-id="<?php echo esc_attr( $course_id ); ?>" data-course-single> |
| 87 | <span class="tutor-icon-cart-line tutor-mr-8"></span> |
| 88 | <span><?php esc_html_e( 'Add to Cart', 'tutor' ); ?></span> |
| 89 | </button> |
| 90 | </div> |
| 91 | <?php |
| 92 | } |
| 93 | echo apply_filters( 'tutor_add_to_cart_btn', ob_get_clean(), $course_id ); //phpcs:ignore --already filtered |
| 94 |