暂无描述

class-wc-coupon-data-store-interface.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Coupon Data Store Interface
  4. *
  5. * @version 3.0.0
  6. * @package WooCommerce\Interfaces
  7. */
  8. /**
  9. * WC Coupon Data Store Interface
  10. *
  11. * Functions that must be defined by coupon store classes.
  12. *
  13. * @version 3.0.0
  14. */
  15. interface WC_Coupon_Data_Store_Interface {
  16. /**
  17. * Increase usage count for current coupon.
  18. *
  19. * @param WC_Coupon $coupon Coupon object.
  20. * @param string $used_by Either user ID or billing email.
  21. */
  22. public function increase_usage_count( &$coupon, $used_by = '' );
  23. /**
  24. * Decrease usage count for current coupon.
  25. *
  26. * @param WC_Coupon $coupon Coupon object.
  27. * @param string $used_by Either user ID or billing email.
  28. */
  29. public function decrease_usage_count( &$coupon, $used_by = '' );
  30. /**
  31. * Get the number of uses for a coupon by user ID.
  32. *
  33. * @param WC_Coupon $coupon Coupon object.
  34. * @param int $user_id User ID.
  35. * @return int
  36. */
  37. public function get_usage_by_user_id( &$coupon, $user_id );
  38. /**
  39. * Return a coupon code for a specific ID.
  40. *
  41. * @param int $id Coupon ID.
  42. * @return string Coupon Code.
  43. */
  44. public function get_code_by_id( $id );
  45. /**
  46. * Return an array of IDs for for a specific coupon code.
  47. * Can return multiple to check for existence.
  48. *
  49. * @param string $code Coupon code.
  50. * @return array Array of IDs.
  51. */
  52. public function get_ids_by_code( $code );
  53. }