class-wc-shipping-zone-data-store-interface.php
1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
/**
* Shipping Zone Data Store Interface
*
* @version 3.0.0
* @package WooCommerce\Interface
*/
/**
* WC Shipping Zone Data Store Interface.
*
* Functions that must be defined by shipping zone store classes.
*
* @version 3.0.0
*/
interface WC_Shipping_Zone_Data_Store_Interface {
/**
* Get a list of shipping methods for a specific zone.
*
* @param int $zone_id Zone ID.
* @param bool $enabled_only True to request enabled methods only.
* @return array Array of objects containing method_id, method_order, instance_id, is_enabled
*/
public function get_methods( $zone_id, $enabled_only );
/**
* Get count of methods for a zone.
*
* @param int $zone_id Zone ID.
* @return int Method Count
*/
public function get_method_count( $zone_id );
/**
* Add a shipping method to a zone.
*
* @param int $zone_id Zone ID.
* @param string $type Method Type/ID.
* @param int $order Method Order ID.
* @return int Instance ID
*/
public function add_method( $zone_id, $type, $order );
/**
* Delete a method instance.
*
* @param int $instance_id Instance ID.
*/
public function delete_method( $instance_id );
/**
* Get a shipping zone method instance.
*
* @param int $instance_id Instance ID.
* @return object
*/
public function get_method( $instance_id );
/**
* Find a matching zone ID for a given package.
*
* @param object $package Zone package object.
* @return int
*/
public function get_zone_id_from_package( $package );
/**
* Return an ordered list of zones.
*
* @return array An array of objects containing a zone_id, zone_name, and zone_order.
*/
public function get_zones();
/**
* Return a zone ID from an instance ID.
*
* @param int $id Instance ID.
* @return int
*/
public function get_zone_id_by_instance_id( $id );
}