diff --git a/templates/loop/add-to-cart-edd.php b/templates/loop/add-to-cart-edd.php index cb8712b118..3e6bbc143c 100644 --- a/templates/loop/add-to-cart-edd.php +++ b/templates/loop/add-to-cart-edd.php @@ -13,27 +13,24 @@ $download = new EDD_Download( $product_id ); if ( $download->ID ) { - if ( ! is_user_logged_in() ) { - /** - * Add required logged in class - * - * @since v 1.5.5 - */ - $button_behavior = edd_get_download_button_behavior( $download->ID ); - $args = apply_filters( - 'edd_purchase_link_defaults', - array( - 'text' => 'direct' == $button_behavior ? edd_get_option( 'buy_now_text', __( 'Buy Now', 'tutor' ) ) : edd_get_option( 'add_to_cart_text', __( 'Purchase', 'tutor' ) ), - 'style' => edd_get_option( 'button_style', 'button' ), - 'color' => edd_get_option( 'checkout_color', 'blue' ), - 'class' => 'edd-submit tutor-open-login-modal', - ) - ); - $button_text = edd_currency_filter( edd_format_amount( $download->price ) ) . ' – ' . $args['text']; - $button_class = implode( ' ', array( $args['style'], $args['color'], $args['class'] ) ); - echo ''; //phpcs:ignore - } else { - echo edd_get_purchase_link( array( 'download_id' => $download->ID ) ); //phpcs:ignore + $args = array( 'download_id' => $download->ID ); + + /** + * Improved purchase link rendering using EDD native helper. + * + * @since 4.0.0 + */ + add_filter( + 'edd_download_redirect_to_checkout', + function ( $redirect ) { + return is_user_logged_in() ? $redirect : false; + } + ); + + if ( ! is_user_logged_in() ) { + $args['class'] = 'tutor-open-login-modal'; } + + echo edd_get_purchase_link( $args ); //phpcs:ignore } diff --git a/templates/single/course/add-to-cart-edd.php b/templates/single/course/add-to-cart-edd.php index c16ad941f1..85ebd795b2 100644 --- a/templates/single/course/add-to-cart-edd.php +++ b/templates/single/course/add-to-cart-edd.php @@ -14,7 +14,25 @@ $download = new EDD_Download( $product_id ); if ( $download->ID ) { - echo apply_filters( 'tutor_add_to_cart_btn', edd_get_purchase_link( array( 'download_id' => $download->ID ) ), $course_id ); //phpcs:ignore + + /** + * Improved purchase link rendering using EDD native helper. + * + * @since 4.0.0 + */ + add_filter( + 'edd_download_redirect_to_checkout', + function ( $redirect ) { + return is_user_logged_in() ? $redirect : false; + } + ); + + $args = array( 'download_id' => $download->ID ); + if ( ! is_user_logged_in() ) { + $args['class'] = 'tutor-open-login-modal'; + } + + echo apply_filters( 'tutor_add_to_cart_btn', edd_get_purchase_link( $args ), $course_id ); //phpcs:ignore } else { ?>