2013-07-31 5 views
1

기본적으로 WordPress에서 woocommerce 용 포인트 기반 시스템을 만들고 있습니다. 이는 수동으로 추가 된 usermeta를 기반으로합니다. (아이디어는 사람들이 제품을 재활용하여 포인트를 획득 한 다음 포인트를 사용하여 사용자 데이터를 공유하는 별도의 woocommerce에서 제품을 구매하는 것입니다).woocommerce 체크 아웃 프로세스를 통해 Wordpress 업데이트 사용자 메타

점수가 충분하지 않거나 사용자가 제품을 구매 한 후 남은 금액을 합산하여 계산할 수 있습니다 (이 단계에서는 제외 할 수 있지만 포인트 외에는 약간의 배당 가능성이 있음).

문제는 구입 후 사용자 메타를 업데이트하는 것입니다. 즉 모든 사용자는 관리자 만 볼 수있는 사용자 테이블에 'Points'라는 상자가 있습니다. 이는 (Current Points - Order total)의 새로운 수식으로 업데이트해야합니다. 내가이를 구현하는 방법이나이 실제로 작동 여부를 확인하지 내놓았다을 Heres 코드는 ... 나는 사람이있는 경우 주문이

 <?php 

     $user_id = wp_get_current_user(); 
     $pointsafterorder = $current_user->points - $woocommerce->cart->total; 

     // will return false if the previous value is the same as $new_value 
     update_user_meta($user_id, $current_user->points, $pointsafterorder); 

     ?> 

'배치'된 후에 발생하는 '감사합니다 페이지'에서이 심어 고침, 질문 또는 어떤 생각이라도 알려주세요.

감사 리치

+0

먼저 솔루션을 직접 시도해보고 문제가 해결되지 않으면 사용중인 특정 문제에 대해 물어보십시오. 유형의 질문이 코드는 http://codereview.stackexchange.com/에 가야합니다. –

+0

안녕하세요,이 솔루션 (질문에 대한 코드)을 시도하고 작동하지 않습니다 - 미안하지만 충분히 구체적이지 않은 경우 그 점을 지적합니다. –

답변

1

코드는 사용자 ID를 받고 밤은있다.

먼저 당신은 당신이 무엇을 같은 현재 사용자를 조회해야합니다

$current_user = wp_get_current_user(); 

하지만 누락 된 비트는 다음과 같습니다

echo $current_user->ID; 

그래서 같이 표시됩니다 adpated 코드 :

$current_user = wp_get_current_user(); 
$pointsafterorder = $current_user->points - $woocommerce->cart->total; 
update_user_meta($current_user->ID, $current_user->points, $pointsafterorder); 
관련 문제