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.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 / Order / ItemMeta.php
flexible-shipping / src / WPDesk / FS / TableRate / Order Last commit date
ItemMeta.php 2 weeks ago
ItemMeta.php
86 lines
1 <?php
2 /**
3 * Class ItemMeta
4 *
5 * @package WPDesk\FS\TableRate\Order
6 */
7
8 namespace WPDesk\FS\TableRate\Order;
9
10 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
11 use WC_Order_Item;
12 use WC_Order_Item_Shipping;
13 use WPDesk\FS\TableRate\ShippingMethod\RateCalculator;
14 use WPDesk\FS\TableRate\ShippingMethodSingle;
15 use WPDesk_Flexible_Shipping;
16
17 /**
18 * Can display order meta.
19 */
20 class ItemMeta implements Hookable {
21
22 /**
23 * Hooks.
24 */
25 public function hooks() {
26 add_action( 'woocommerce_checkout_order_created', [ $this, 'update_order_shipping_meta' ] );
27 add_action( 'woocommerce_before_order_itemmeta', [ $this, 'filter_meta_if_flexible_shipping_method' ], 10, 2 );
28 add_action( 'woocommerce_after_order_itemmeta', [ $this, 'remove_filter_meta_if_flexible_shipping_method' ] );
29 }
30
31 /**
32 * @param \WC_Order $order .
33 */
34 public function update_order_shipping_meta( $order ) {
35 if ( $order ) {
36 foreach ( $order->get_shipping_methods() as $shipping_method ) {
37 $shipping_method->delete_meta_data( RateCalculator::DESCRIPTION_BASE64ENCODED );
38 $shipping_method->save_meta_data();
39 }
40 }
41 }
42
43 /**
44 * @param int $item_id .
45 * @param WC_Order_Item $item .
46 */
47 public function filter_meta_if_flexible_shipping_method( $item_id, WC_Order_Item $item ) {
48 if ( $item instanceof WC_Order_Item_Shipping ) {
49 if ( in_array( $item->get_method_id(), [ WPDesk_Flexible_Shipping::METHOD_ID, ShippingMethodSingle::SHIPPING_METHOD_ID ], true ) ) {
50 add_filter( 'woocommerce_hidden_order_itemmeta', [ $this, 'hide_flexible_shipping_item_meta' ] );
51 add_filter( 'woocommerce_order_item_display_meta_key', [ $this, 'format_display_key' ] );
52 }
53 }
54 }
55
56 /**
57 * @param string $key .
58 *
59 * @return string
60 */
61 public function format_display_key( $key ) {
62 return RateCalculator::DESCRIPTION === $key ? __( 'Description', 'flexible-shipping' ) : $key;
63 }
64
65 /**
66 * @param array $hidden_order_item_meta .
67 *
68 * @return array
69 */
70 public function hide_flexible_shipping_item_meta( $hidden_order_item_meta ) {
71 $hidden_order_item_meta[] = RateCalculator::FS_INTEGRATION;
72 $hidden_order_item_meta[] = RateCalculator::DESCRIPTION_BASE64ENCODED;
73
74 return $hidden_order_item_meta;
75 }
76
77 /**
78 * .
79 */
80 public function remove_filter_meta_if_flexible_shipping_method() {
81 remove_filter( 'woocommerce_hidden_order_itemmeta', [ $this, 'hide_flexible_shipping_item_meta' ] );
82 remove_filter( 'woocommerce_order_item_display_meta_key', [ $this, 'format_display_key' ] );
83 }
84
85 }
86