PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / trunk
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping vtrunk
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 / ShippingMethodsIntegration / OrderMetaData.php
flexible-shipping / src / WPDesk / FS / TableRate / ShippingMethodsIntegration Last commit date
Integration.php 2 weeks ago OrderMetaData.php 2 weeks ago SettingsFields.php 2 weeks ago ShippingRate.php 2 weeks ago Tracker.php 2 weeks 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