PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.6.6
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.6.6
1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 1.3.19 All 49 releases
← All changes | app/Services/Renderer/CheckoutRenderer.php +25 -4 1.5.4 → 1.6.6 View file →
@@ -150,9 +150,8 @@
150 150 <?php
151 151 $hookData = [
152 152 'cart' => $this->cart
153 153 ];
154 - do_action_deprecated('fluent_cart/afrer_checkout_page_start', [$hookData], '1.3.16', 'fluent_cart/after_checkout_page_start', 'Use fluent_cart/after_checkout_page_start instead of fluent_cart/afrer_checkout_page_start. It will be removed in v1.4.3.');
155 154 do_action('fluent_cart/after_checkout_page_start', $hookData);
156 155 }
157 156
158 157 public function renderNotices()
@@ -776,8 +775,9 @@
776 775 }
777 776
778 777 $selectedPaymentMethod = Arr::get($this->cart->checkout_data, 'form_data._fct_pay_method', '');
779 778 $activePaymentMethods = PaymentMethods::getActiveMethodInstance($this->cart);
779 + $hadActiveMethods = !empty($activePaymentMethods);
780 780
781 781 $activePaymentMethods = apply_filters('fluent_cart/checkout_active_payment_methods', $activePaymentMethods, [
782 782 'cart' => $this->cart
783 783 ]);
@@ -782,11 +782,28 @@
782 782 'cart' => $this->cart
783 783 ]);
784 784
785 785 if (!$selectedPaymentMethod && !empty($activePaymentMethods)) {
786 - $selectedPaymentMethod = $activePaymentMethods[0] ? $activePaymentMethods[0]->getMeta('route') : '';
786 + // reset() not [0] — the filter above may return a non-zero-indexed array.
787 + $firstMethod = reset($activePaymentMethods);
788 + $selectedPaymentMethod = $firstMethod ? $firstMethod->getMeta('route') : '';
787 789 }
788 790
791 + /**
792 + * The payment method rendered as checked. An add-on that renders its own
793 + * selector outside this list (e.g. saved payment methods) returns a route
794 + * that is not in the list, so no gateway here is checked — the page then
795 + * arrives with the add-on's choice already selected instead of a gateway
796 + * being checked first and switched over by JS after load.
797 + *
798 + * @param string $selectedPaymentMethod
799 + * @param array $context ['cart' => Cart, 'payment_methods' => array]
800 + */
801 + $selectedPaymentMethod = (string) apply_filters('fluent_cart/checkout/selected_payment_method', $selectedPaymentMethod, [
802 + 'cart' => $this->cart,
803 + 'payment_methods' => $activePaymentMethods
804 + ]);
805 +
789 806 $checkoutMethodStyle = $this->storeSettings->get('checkout_method_style', 'logo');
790 807
791 808 ?>
792 809 <div id="fluent_payment_methods" class="fluent_payment_methods">
@@ -813,9 +830,13 @@
813 830 ?>
814 831 <?php endforeach; ?>
815 832 <?php else: ?>
816 833 <?php
817 - $emptyText = esc_html__('No Payment method is activated for this site yet.', 'fluent-cart');
834 + if ($hadActiveMethods) {
835 + $emptyText = esc_html__('None of the available payment methods can process this order. Please contact the store.', 'fluent-cart');
836 + } else {
837 + $emptyText = esc_html__('No Payment method is activated for this site yet.', 'fluent-cart');
838 + }
818 839 if (current_user_can('manage_options')) {
819 840 $emptyText .= '<a href="' . esc_url(URL::getDashboardUrl('settings/payments')) . '" target="_blank">' . esc_html__('Activate from settings.', 'fluent-cart') . '</a>';
820 841 }
821 842 echo '<div class="fct-empty-state">' . wp_kses_post($emptyText) . '</div>';
@@ -927,9 +948,9 @@
927 948 'route' => $route,
928 949 'method_title' => $methodTitle,
929 950 'method_style' => $methodStyle,
930 951 ];
931 - $paymentMethodClass = apply_filters_deprecated('fluent_cart_payment_method_list_class', ['', $pmContext], '1.3.16', 'fluent_cart/payment_method_list_class', 'Use fluent_cart/payment_method_list_class instead of fluent_cart_payment_method_list_class.');
952 + $paymentMethodClass = '';
932 953 $paymentMethodClass = apply_filters('fluent_cart/payment_method_list_class', $paymentMethodClass, $pmContext);
933 954
934 955 ?>
935 956 <div class="<?php echo "fluent-cart-checkout_embed_payment_container fluent-cart-checkout_embed_payment_container_" . esc_attr($route . ' ' . $paymentMethodClass); ?>"