woocommerce/includes/interfaces/class-wc-shipping-zone-data...

86 lines
1.8 KiB
PHP
Raw Permalink Normal View History

2016-11-15 21:53:11 +00:00
<?php
/**
* Shipping Zone Data Store Interface
*
* @version 3.0.0
2020-08-05 16:36:24 +00:00
* @package WooCommerce\Interface
*/
2016-11-15 21:53:11 +00:00
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
2016-11-16 11:18:47 +00:00
* WC Shipping Zone Data Store Interface.
2016-11-15 21:53:11 +00:00
*
* Functions that must be defined by shipping zone store classes.
*
2017-03-15 16:36:53 +00:00
* @version 3.0.0
2016-11-15 21:53:11 +00:00
*/
interface WC_Shipping_Zone_Data_Store_Interface {
/**
2016-11-16 11:18:47 +00:00
* 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 );
2016-11-15 21:53:11 +00:00
/**
* 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 Intance 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 );
2016-11-15 21:53:11 +00:00
}