프로그래밍 방식으로 WooCommerce에서 고유한 쿠폰 코드를 만드는 방법
게시 됨: 2020-07-06이전 게시물에서 WooCommerce 장바구니에 쿠폰 코드를 자동으로 적용하는 방법에 대해 논의했습니다. 여기에서 다른 고객이 주문한 모든 주문에 대해 WooCommerce -> 쿠폰 메뉴에서 생성되는 일반 쿠폰 코드를 사용했습니다.
그러나 때때로 상점 소유자는 특정 상황에서 웹사이트의 각 고객에 대해 고유한 쿠폰 코드를 만들고 싶을 때가 있습니다. 고유한 쿠폰 코드를 생성할 수 있는 두 가지 예를 살펴보겠습니다.
예 1:
온라인 상점 소유자로서 고객의 구매 주기에서 직면할 수 있는 최악의 상황은 장바구니 포기입니다. 약 웹사이트에 있는 장바구니의 68~70%가 사용자에 의해 포기되며 여러 가지 이유가 있을 수 있습니다. 가장 일반적인 이유 중 하나는 제품의 가격이 높거나 배송료와 같은 추가 요금이 높기 때문입니다.
따라서 여기에서 장바구니 포기를 최소화하고 많은 사용자를 고객으로 전환하려면 구매에 대한 할인 쿠폰으로 고객을 유치할 수 있습니다. 이렇게 하면 버려진 카트를 회수된 카트로 변환할 수 있습니다.
이러한 경우 코드를 여러 번 사용하지 않도록 각 버려진 장바구니에 대해 단일 사용 제한이 있는 고유한 쿠폰 코드를 제공하는 것이 가장 좋습니다.
예 2:
고유한 쿠폰 코드를 만드는 또 다른 예는 매장에서 한 번 구매한 고객을 위한 것이지만 더 많은 구매를 유도하기 위해 다음 구매를 위해 할인 쿠폰을 보내는 것이 좋습니다. 따라서 여기에서 모든 고객을 위한 일반 쿠폰 코드를 생성하면 고객은 새로운 구매에 사용할 수 있는 쿠폰을 알고 있는 다른 사람들에게 전달할 수 있습니다.
따라서 여기에서 재방문 고객을 위해 생성된 쿠폰 코드가 오용될 수 있습니다. 이를 방지하려면 사용 한도를 1로 설정하여 고객별로 고유한 쿠폰 코드를 생성하는 것이 좋습니다.
WooCommerce -> Coupons 메뉴에서 고객별로 고유한 쿠폰 코드를 수동으로 생성하는 것은 불가능합니다. 따라서 다른 옵션은 다른 사용자를 위해 한 번에 여러 쿠폰을 생성하기 위한 코드 스니펫을 추가하는 것이며 게시물에서 이를 달성하는 방법에 대해 논의할 것입니다.
WooCommerce에서 고유한 쿠폰 코드를 만드는 2가지 방법
고유한 쿠폰 코드를 만드는 첫 번째 단계는 각 쿠폰에 대해 임의의 문자열을 만드는 것입니다. 그것은 아래 코드를 사용하여 생성됩니다.
$characters = "ABCDEFGHJKMNPQRSTUVWXYZ23456789"; $char_length = "8"; $random_string = substr( str_shuffle( $characters ), 0, $char_length );
여기서 substr() 함수는 시작 및 길이 매개변수로 지정된 문자열 부분을 반환하고 str_shuffle() 함수는 전달된 문자열을 무작위로 섞습니다.
고유한 문자열을 생성한 후 다음 단계는 코드 조각을 사용하여 쿠폰 코드를 생성하는 것입니다. WooCommerce에서 프로그래밍 방식으로 쿠폰 코드를 생성 할 수 있는 2가지 방법에 대해 논의할 것입니다.
1. wp_insert_post() 함수 사용
프로그래밍 방식으로 쿠폰 코드를 추가하는 첫 번째 방법은 WordPress 게시물을 추가하거나 업데이트할 수 있는 wp_insert_post() 함수를 사용하는 것입니다. 따라서 우리의 경우 이 기능을 사용하여 post 유형이 shop_coupon인 게시물을 추가합니다. 생성된 쿠폰에 대한 메타를 추가하기 위해 update_post_meta() 함수를 사용합니다. 하위 테마의 functions.php 파일에 또는 코드 조각 플러그인을 사용하여 아래 코드를 추가해야 합니다.
$coupon_code = 'UNIQUECODE'; // 임의의 문자열 조각을 사용하여 생성된 코드입니다.
$금액 = '10'; // 양
$discount_type = '퍼센트'; // 유형: fixed_cart, percent, fixed_product, percent_product
$쿠폰 = 배열(
'post_title' => $coupon_code,
'post_content' => '',
'post_status' => '게시',
'post_author' => 1,
'post_type' => 'shop_coupon'
);
$new_coupon_id = wp_insert_post( $coupon );
// 메타 추가
update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
update_post_meta( $new_coupon_id, '쿠폰_금액', $amount );
update_post_meta( $new_coupon_id, 'individual_use', 'no' );
update_post_meta( $new_coupon_id, 'product_ids', '' );
update_post_meta( $new_coupon_id, 'exclude_product_ids', '' );
update_post_meta( $new_coupon_id, '사용 제한', '' );
update_post_meta( $new_coupon_id, '만료일', '' );
update_post_meta( $new_coupon_id, 'apply_before_tax', '예' );
update_post_meta( $new_coupon_id, '무료 배송', '아니오' );2. WooCommerce Rest API 사용
프로그래밍 방식으로 쿠폰 코드를 추가하는 또 다른 방법은 플러그인 자체에서 제공하는 WooCommerce Rest API를 사용하는 것입니다. WooCommerce는 인증, 데이터 가져오기, 쿠폰, 주문 등을 포함하여 Rest API에 대한 완전한 가이드를 제공하지만 참고로 아래는 쿠폰 코드 생성에 사용할 수 있는 작은 스니펫입니다.

require_once __DIR__ . '/공급업체/autoload.php';
Automattic\WooCommerce\Client를 사용하십시오.
Automattic\WooCommerce\HttpClient\HttpClientException을 사용하십시오.
$woocommerce = 새 클라이언트(
'https://example.com',
'소비자_키',
'소비자_비밀',
[
'wp_api' => 참,
'버전' => '화장실/v3'
]
);
$ 데이터 = [
'코드' => '10off',
'discount_type' => '퍼센트',
'금액' => '10',
'individual_use' => 참,
'exclude_sale_items' => 참,
'최소 금액' => '100.00'
];
$woocommerce->post( '쿠폰', $data );총 주문 금액이 $100 이상인 주문에 대해 10% 할인 쿠폰 코드를 생성하기 위한 기본 코드 스니펫입니다. 쿠폰 코드는 '10off'이며 한 명의 고객만 사용할 수 있습니다. 이것들은 쿠폰 코드 생성에 필요한 기본 속성일 뿐이지만 몇 가지 추가 속성을 추가하려면 여기에 해당 목록이 있습니다.
id – ( int ) 개체의 고유 식별자입니다 .
code – (문자열)(필수) 쿠폰 코드입니다.
amount – (문자열) 할인 금액. 백분율을 설정하더라도 항상 숫자여야 합니다.
date_created – (날짜-시간) 사이트 시간대에서 쿠폰이 생성된 날짜입니다.
date_created_gmt – (날짜-시간) 쿠폰이 생성된 날짜(GMT)입니다.
date_modified – (날짜-시간) 쿠폰이 마지막으로 수정된 날짜(사이트 시간대).
date_modified_gmt – (날짜-시간) 쿠폰이 마지막으로 수정된 날짜(GMT)입니다.
Discount_type – (문자열) 적용할 할인 유형을 결정합니다. 옵션: 퍼센트, fixed_cart 및 fixed_product. 기본값은 fixed_cart 입니다.
description – (문자열) 쿠폰 설명입니다.
date_expires – (문자열) 사이트 시간대에서 쿠폰이 만료되는 날짜입니다.
date_expires_gmt – (문자열) 쿠폰이 만료되는 날짜(GMT)입니다.
usage_count – (int) 쿠폰이 이미 사용된 횟수입니다.
개별 _사용 – (bool) true인 경우 쿠폰은 개별적으로만 사용할 수 있습니다. 기타 적용된 쿠폰은 장바구니에서 삭제됩니다. 기본값은 false 입니다.
product_ids – (배열) 쿠폰을 사용할 수 있는 제품 ID 목록입니다.
exclude_product_ids – (배열) 쿠폰을 사용할 수 없는 제품 ID 목록입니다.
usage_limit – (int) 총 몇 번 쿠폰을 사용할 수 있습니다.
usage_limit_per_user – (int) 고객당 쿠폰을 사용할 수 있는 횟수입니다.
limit_usage_to_x_items – (int) 쿠폰을 적용할 수 있는 장바구니의 최대 항목 수입니다.
free_shipping – (bool) true이고 무료 배송 방법에 쿠폰이 필요한 경우 이 쿠폰은 무료 배송을 활성화합니다. 기본값은 false 입니다.
product_categories – (배열) 쿠폰이 적용되는 카테고리 ID 목록입니다.
exclude_product_categories – (배열) 쿠폰이 적용되지 않는 카테고리 ID의 목록입니다.
exclude_sale_items – (bool) true인 경우 이 쿠폰은 할인 가격이 있는 항목에 적용되지 않습니다. 기본값은 false 입니다.
minimum_amount – (문자열) 쿠폰이 적용되기 전에 장바구니에 있어야 하는 최소 주문 금액입니다.
maximum_amount – (문자열) 쿠폰 사용 시 허용되는 최대 주문 금액입니다.
email_restrictions – (배열) 이 쿠폰을 사용할 수 있는 이메일 주소 목록입니다.
used_by – (배열) 쿠폰을 사용한 사용자 ID(또는 게스트 이메일 주소) 목록.
meta_data – (배열) 메타데이터.
결론
위에서 언급한 코드 조각은 쿠폰 코드를 생성하는 방법의 예일 뿐입니다. 웹사이트에서 사용하려면 필요한 후크 또는 필터에 연결해야 합니다. 예를 들어 장바구니 포기를 추적하는 동안 장바구니의 모든 후크에 사용할 수 있으며 매주 실행되어 고객에게 이메일 업데이트를 보낼 Cron 작업에 사용할 수 있습니다.
고유한 쿠폰 코드를 활용하고 귀하의 웹사이트에 대한 행복한 재방문 고객을 만드십시오.
