← All changes
|
includes/widgets/Woo_Checkout_Progress/Woo_Checkout_Progress.php
+20
-9
51.1.44
→
51.1.87
View file →
| @@ -45,9 +45,9 @@ | ||
| 45 | 45 | * @return string |
| 46 | 46 | */ |
| 47 | 47 | public function get_icon(): string |
| 48 | 48 | { |
| 49 | - return 'eicon-progress-tracker'; | |
| 49 | + return 'king-addons-icon king-addons-woo-checkout-progress'; | |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | /** |
| 53 | 53 | * Categories. |
| @@ -157,27 +157,40 @@ | ||
| 157 | 157 | * @return void |
| 158 | 158 | */ |
| 159 | 159 | protected function render(): void |
| 160 | 160 | { |
| 161 | - if (!function_exists('is_checkout') || (!is_checkout() && !is_cart()) ) { | |
| 161 | + $order_received = function_exists('is_order_received_page') && is_order_received_page(); | |
| 162 | + $in_checkout = $this->should_render() || $order_received; | |
| 163 | + $in_cart = function_exists('is_cart') && is_cart(); | |
| 164 | + if (!$this->can_use_builder_widgets()) { | |
| 162 | 165 | $this->render_missing_checkout_notice(); |
| 163 | 166 | return; |
| 164 | 167 | } |
| 168 | + if (!$in_checkout && !$in_cart) { | |
| 169 | + $this->render_missing_checkout_notice(); | |
| 170 | + return; | |
| 171 | + } | |
| 165 | 172 | |
| 166 | 173 | $settings = $this->get_settings_for_display(); |
| 167 | 174 | $can_pro = king_addons_can_use_pro(); |
| 168 | 175 | |
| 169 | - $layout = $settings['layout'] ?? 'bar'; | |
| 176 | + // The value goes into a class name, so an unknown one has to fall back. | |
| 177 | + $layout = (string) ($settings['layout'] ?? 'bar'); | |
| 178 | + if (!in_array($layout, ['bar', 'steps'], true)) { | |
| 179 | + $layout = 'bar'; | |
| 180 | + } | |
| 170 | 181 | if ('steps' === $layout && !$can_pro) { |
| 171 | 182 | $layout = 'bar'; |
| 172 | 183 | } |
| 173 | 184 | |
| 174 | - $current = 'cart'; | |
| 175 | - if (is_checkout() && !is_order_received_page()) { | |
| 176 | - $current = 'payment'; | |
| 185 | + $current = 'details'; | |
| 186 | + if ($in_cart) { | |
| 187 | + $current = 'cart'; | |
| 177 | 188 | } |
| 178 | - if (is_order_received_page()) { | |
| 189 | + if ($order_received) { | |
| 179 | 190 | $current = 'complete'; |
| 191 | + } elseif (function_exists('is_checkout_pay_page') && is_checkout_pay_page()) { | |
| 192 | + $current = 'payment'; | |
| 180 | 193 | } |
| 181 | 194 | |
| 182 | 195 | $steps = [ |
| 183 | 196 | ['key' => 'cart', 'label' => esc_html__('Cart', 'king-addons')], |
| @@ -229,10 +242,8 @@ | ||
| 229 | 242 | |
| 230 | 243 | echo '</div>'; |
| 231 | 244 | } |
| 232 | 245 | } |
| 233 | - | |
| 234 | - | |
| 235 | 246 | |
| 236 | 247 | |
| 237 | 248 | |
| 238 | 249 | |