PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.11.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.11.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / src / WPDesk / FS / TableRate / FreeShipping / Tracker / ThresholdAlertTracker.php
flexible-shipping / src / WPDesk / FS / TableRate / FreeShipping / Tracker Last commit date
ThresholdAlertTracker.php 1 week ago
ThresholdAlertTracker.php
57 lines
1 <?php
2 /**
3 * Class ThresholdAlertTracker
4 *
5 * @package WPDesk\FS\TableRate\FreeShipping\Tracker
6 */
7
8 declare( strict_types=1 );
9
10 namespace WPDesk\FS\TableRate\FreeShipping\Tracker;
11
12 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
13
14 /**
15 * Can append free shipping threshold alert data to tracker.
16 */
17 final class ThresholdAlertTracker implements Hookable {
18
19 const DISPLAYED_ACTION = 'flexible-shipping/free-shipping-threshold-alert/displayed';
20 const OPTION_NAME = 'fs-free-shipping-threshold-alert-displayed';
21 const TRACKER_DATA_NAME = 'free_shipping_threshold_alert_displayed';
22 const OPTION_VALUE_TRUE = 1;
23 const TRACKER_DATA_FALSE = 0;
24 const TRACKER_DATA_TRUE = 1;
25
26 const PRIORITY_AFTER_FLEXIBLE_SHIPPING_TRACKER = \WPDesk_Flexible_Shipping_Tracker::TRACKER_DATA_FILTER_PRIORITY + 1;
27
28 public function hooks(): void {
29 add_action( self::DISPLAYED_ACTION, [ $this, 'mark_alert_as_displayed' ] );
30 add_filter( 'wpdesk_tracker_data', [ $this, 'append_tracker_data' ], self::PRIORITY_AFTER_FLEXIBLE_SHIPPING_TRACKER );
31 }
32
33 /**
34 * @return bool
35 */
36 public function mark_alert_as_displayed(): bool {
37 if ( self::OPTION_VALUE_TRUE === (int) get_option( self::OPTION_NAME, 0 ) ) {
38 return false;
39 }
40
41 return update_option( self::OPTION_NAME, self::OPTION_VALUE_TRUE, false );
42 }
43
44 /**
45 * @param mixed $data Tracker data.
46 *
47 * @return mixed
48 */
49 public function append_tracker_data( $data ) {
50 if ( is_array( $data ) && isset( $data['flexible_shipping'] ) && is_array( $data['flexible_shipping'] ) ) {
51 $data['flexible_shipping'][ self::TRACKER_DATA_NAME ] = self::OPTION_VALUE_TRUE === (int) get_option( self::OPTION_NAME, 0 ) ? self::TRACKER_DATA_TRUE : self::TRACKER_DATA_FALSE;
52 }
53
54 return $data;
55 }
56 }
57