WC_API_Coupons::get_coupon_by_code()publicWC 2.1

Get the coupon for the given code

Method of the class: WC_API_Coupons{}

No Hooks.

Return

Int|WP_Error.

Usage

$WC_API_Coupons = new WC_API_Coupons();
$WC_API_Coupons->get_coupon_by_code( $code, $fields );
$code(string) (required)
the coupon code
$fields(string)
fields to include in response
Default: null

Changelog

Since 2.1 Introduced.

WC_API_Coupons::get_coupon_by_code() code WC 8.6.1

public function get_coupon_by_code( $code, $fields = null ) {
	global $wpdb;

	try {
		$id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $wpdb->posts WHERE post_title = %s AND post_type = 'shop_coupon' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 1;", $code ) );

		if ( is_null( $id ) ) {
			throw new WC_API_Exception( 'woocommerce_api_invalid_coupon_code', __( 'Invalid coupon code', 'woocommerce' ), 404 );
		}

		return $this->get_coupon( $id, $fields );
	} catch ( WC_API_Exception $e ) {
		return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) );
	}
}