Mycred 플러그인 관련 질문입니다.

안녕하세요.

현재 워드프레스를 이용해서 쇼핑몰 플랫폼을 제작하고 있는 사람입니다.

기본적인 디자인 및 기능은 구현을 끝냈고

이제 필요한 부분이

사용자가 제품을 구매했을 때, 포인트가 일정 % 자동적립되는 기능이 필요하게 되었는데요.

워드프레스에서 포인트를 적립하고, 적립한 포인트를 실제 구매에 사용할 수 있는 플러그인을 찾던 중

Mycred 이란 플러그인을 발견해서 이것저것 만져보고 있습니다.

 

fuction.php 파일에 특정 코드를 삽입해서 제품 구매시 포인트가 일정 % 적립되는 것은 확인이 됐는데요.

만약 구매자가 제품을 환불했을시 적립되었던 포인트가 자동으로 삭감되게 하고 싶은데 이와 관련된 정보는 아무리 찾아도 나오지가 않습니다.

Mycred 플러그인으로 해결할 수 있는 부분일까요?

 

위의 부분 관련해서 도움 주시면 감사할 것 같습니다.

감사합니다 ^^

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    테마 쪽 functions.php 파일에 코드를 포인트 증가 관련해서 코드를 추가하셨다는 말씀이신지요?

     

    myCRED 플러그인의 mycred_add 함수를 사용하시면

    사용자의 포인트 증가 또는 감소하도록 설정하실 수 있습니다.

     

    사용 중이신 플러그인에 따라서 상품 환불 시 실행되는 코드가 다릅니다.

    어떤 플러그인을 사용 중이신지 알려주시겠어요?

    상품 구매 시 포인트 지급은 어떤 코드를 추가하셨는지도 알려주시면 도움 드릴 방법을 찾아보겠습니다.

    고맙습니다.

  • 안녕하세요. 친절한 답변 감사드립니다^^

    플러그인은 현재 우커머스 플러그인을 사용하고 있습니다.

     

    테마쪽 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');

     

     

    위의 방식으로 추가했습니다.

    이 코드를 넣으니까 사용자가 구매시 전체상품이 제가 코드에 입력한 % 로 포인트로 적립됩니다.

     

    조언해주시면 감사하겠습니다^^!

    행복한 하루 보내세요 :) 

     

  • 안녕하세요.

    우커머스 플러그인에서 환불 시 코드를 추가하고 실행되게 하시려면

    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 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기