PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.10.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.10.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 / ShippingMethodsIntegration / OrderMetaData.php
flexible-shipping / src / WPDesk / FS / TableRate / ShippingMethodsIntegration Last commit date
Integration.php 3 days ago OrderMetaData.php 3 days ago SettingsFields.php 3 days ago ShippingRate.php 3 days ago Tracker.php 3 days ago
OrderMetaData.php
79 lines
1 <?php
2
3 namespace WPDesk\FS\TableRate\ShippingMethodsIntegration;
4
5 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
6
7 class OrderMetaData implements Hookable {
8
9 public const META_KEY = 'fs_costs';
10
11 private const BASE = 'base';
12 private const ADDITIONAL = 'additional';
13
14 public function hooks(): void {
15 add_filter(
16 'woocommerce_order_item_display_meta_key',
17 [ $this, 'get_meta_key_display_label' ],
18 10,
19 3
20 );
21 add_filter(
22 'woocommerce_order_item_display_meta_value',
23 [ $this, 'get_meta_key_display_value' ],
24 10,
25 3
26 );
27 }
28
29 /**
30 * @param string $display_key
31 * @param \WC_Meta_Data $meta
32 * @param array $item
33 *
34 * @return string
35 */
36 public function get_meta_key_display_label( $display_key, $meta, $item ): string {
37 if ( self::META_KEY === $display_key ) {
38 $display_key = __( 'Shipping Costs', 'flexible-shipping' );
39 }
40
41 return $display_key;
42 }
43
44 /**
45 * @param string $display_value
46 * @param \WC_Meta_Data $meta
47 * @param array $item
48 *
49 * @return string
50 */
51 public function get_meta_key_display_value( $display_value, $meta, $item ): string {
52 if ( ! $meta instanceof \WC_Meta_Data ) {
53 return $display_value;
54 }
55 $data = $meta->get_data();
56 if ( self::META_KEY === ( $data['key'] ?? '' ) ) {
57 $meta_value = json_decode( $display_value, true );
58
59 return sprintf(
60 // Translators: %1$s - Original cost, %2$s - Additional cost.
61 __( 'Base: %1$s, Additional: %2$s', 'flexible-shipping' ),
62 $meta_value[ self::BASE ] ?? '',
63 $meta_value[ self::ADDITIONAL ] ?? ''
64 );
65 }
66
67 return $display_value;
68 }
69
70 public static function prepare_meta_value( float $base_cost, float $additional_cost ): string {
71 return json_encode(
72 [
73 self::BASE => wc_price( $base_cost ),
74 self::ADDITIONAL => wc_price( $additional_cost ),
75 ]
76 );
77 }
78 }
79