안녕하세요.
현재 워드프레스를 이용해서 쇼핑몰 플랫폼을 제작하고 있는 사람입니다.
기본적인 디자인 및 기능은 구현을 끝냈고
이제 필요한 부분이
사용자가 제품을 구매했을 때, 포인트가 일정 % 자동적립되는 기능이 필요하게 되었는데요.
워드프레스에서 포인트를 적립하고, 적립한 포인트를 실제 구매에 사용할 수 있는 플러그인을 찾던 중
Mycred 이란 플러그인을 발견해서 이것저것 만져보고 있습니다.
fuction.php 파일에 특정 코드를 삽입해서 제품 구매시 포인트가 일정 % 적립되는 것은 확인이 됐는데요.
만약 구매자가 제품을 환불했을시 적립되었던 포인트가 자동으로 삭감되게 하고 싶은데 이와 관련된 정보는 아무리 찾아도 나오지가 않습니다.
Mycred 플러그인으로 해결할 수 있는 부분일까요?
위의 부분 관련해서 도움 주시면 감사할 것 같습니다.
감사합니다 ^^
안녕하세요.
우커머스 플러그인에서 환불 시 코드를 추가하고 실행되게 하시려면
woocommerce_order_refunded 액션을 활용해보시겠어요?
아래의 코드를 활용해보세요.
add_action('woocommerce_order_refunded', 'woocommerce_order_refunded_20201112', 10, 2);
function woocommerce_order_refunded_20201112($order_id, $refund_id){
// 이곳에 코드를 추가해보세요.
}
우커머스 내장 함수인 wc_get_order 함수를 활용하시면
$order_id 파라미터의 주문 번호로 주문 정보를 가져올 수 있습니다.
자세한 내용은 아래의 링크를 참고 부탁드립니다.
https://woocommerce.github.io/code-reference/namespaces/default.html#function_wc_get_order
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
안녕하세요. 친절한 답변 감사드립니다^^
플러그인은 현재 우커머스 플러그인을 사용하고 있습니다.
테마쪽 functions.php 파일에 포인트 증가 관련한 코드를 추가했구요.
코드는
// Do not payout if order was paid using points
if ($order->payment_method == 'mycred') return;
// The percentage to payout
$percent = 3;
// Load myCRED
$mycred = mycred();
// Make sure user only gets points once per order
if ($mycred->has_entry('reward', $order_id, $order->user_id)) return;
// Reward example 25% in points.
$reward = $cost * ($percent / 100);
// Add reward
$mycred->add_creds(
'reward',
$order->user_id,
$reward,
'Reward for store purchase',
$order_id,
array('ref_type' => 'post')
);
}
add_action('woocommerce_order_status_completed', 'mycred_pro_reward_order_percentage');
위의 방식으로 추가했습니다.
이 코드를 넣으니까 사용자가 구매시 전체상품이 제가 코드에 입력한 % 로 포인트로 적립됩니다.
조언해주시면 감사하겠습니다^^!
행복한 하루 보내세요 :)
안녕하세요~^^
테마 쪽 functions.php 파일에 코드를 포인트 증가 관련해서 코드를 추가하셨다는 말씀이신지요?
myCRED 플러그인의 mycred_add 함수를 사용하시면
사용자의 포인트 증가 또는 감소하도록 설정하실 수 있습니다.
사용 중이신 플러그인에 따라서 상품 환불 시 실행되는 코드가 다릅니다.
어떤 플러그인을 사용 중이신지 알려주시겠어요?
상품 구매 시 포인트 지급은 어떤 코드를 추가하셨는지도 알려주시면 도움 드릴 방법을 찾아보겠습니다.
고맙습니다.