<?php defined('ABSPATH') || exit; function wc_get_coupon_types() { return (array) apply_filters('woocommerce_coupon_discount_types', array('percent' => __('Percentage discount', 'woocommerce'), 'fixed_cart' => __('Fixed cart discount', 'woocommerce'), 'fixed_product' => __('Fixed product discount', 'woocommerce'))); } function wc_get_coupon_type($type = '') { $types = wc_get_coupon_types(); return isset($types[$type]) ? $types[$type] : ''; } function wc_get_product_coupon_types() { return (array) apply_filters('woocommerce_product_coupon_types', array('fixed_product', 'percent')); } function wc_get_cart_coupon_types() { return (array) apply_filters('woocommerce_cart_coupon_types', array('fixed_cart')); } function wc_coupons_enabled() { return apply_filters('woocommerce_coupons_enabled', 'yes' === get_option('woocommerce_enable_coupons')); } function wc_get_coupon_code_by_id($id) { $data_store = WC_Data_Store::load('coupon'); return empty($id) ? '' : (string) $data_store->get_code_by_id($id); } function wc_get_coupon_id_by_code($code, $exclude = 0) { if (empty($code)) { return 0; } $data_store = WC_Data_Store::load('coupon'); $ids = wp_cache_get(WC_Cache_Helper::get_cache_prefix('coupons') . 'coupon_id_from_code_' . $code, 'coupons'); if (false === $ids) { $ids = $data_store->get_ids_by_code($code); if ($ids) { wp_cache_set(WC_Cache_Helper::get_cache_prefix('coupons') . 'coupon_id_from_code_' . $code, $ids, 'coupons'); } } $ids = array_diff(array_filter(array_map('absint', (array) $ids)), array($exclude)); return apply_filters('woocommerce_get_coupon_id_from_code', absint(current($ids)), $code, $exclude); }