Nenhuma Descrição

class-wc-shipping-zone-data-store-interface.php 1.8KB

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