2016-11-05 5 views
0

제품 중력에서 중력을 사용하고 있습니다. 메일을 보낼 때 Woo-commerce는 Gform 데이터를 제품에 내장하고 고객 및 관리자에게 보냅니다. 그 이메일을 사회자에게 보내고 싶지만 그에게 가격과 할인을 보여주고 싶지는 않습니다. 그것은 내가 WP 템플릿을 포함하는 WP 사전 통지를 사용하고 있습니다. 나는 총 가격을 제거 할 수 있지만 중력 양식 데이터에서 총 가격을 제거 할 수는 없습니다. 그것은 제품 이름과 함께 제품의 가격을 보여줍니다. 예 :중력 양식의 가격 필드 제거

Selected City: XXX 
Selected Product : Packets ($10.00) 
Quantity : 1 
Tax : 5% = $0.05 
Total : $9.95 
Mode of Payment: Credit Card 

모든 데이터가 "gravity_form_history"배열에서 나옵니다. 나는 배열 인덱스를 덮어 씀으로써 가격을 수동으로 숨겼다. 하지만, 관리자가 일반 솔루션을 제공하기를 원합니다. 그가 gforms을 사용하여 더 많은 제품을 추가한다면 레이블이 아닌 해당 필드의 가격/값을 숨기거나 제거하기 위해 필드 이름을 어딘가에 입력하기 만하면됩니다. 그는 코드로 노는 것을 원하지 않습니다.

해결책이 있습니까?

답변

0

해결책 누군가 필요한 경우.

나는 woocommerce의 "$ item_meta"배열 tp 캡처 gform 데이터를 사용했습니다.

foreach ($item_meta->meta as $arraydata => $arrayvalue) 
       { 

        if ( $arraydata == "_qty" || 
          $arraydata == "_tax_class" || 
          $arraydata == "_product_id" || 
          $arraydata == "_gravity_forms_history" || 
        // all values above are general and will be there in default customer email. 
        // below arraydata is from gravity form 
          $arraydata == "Total" || 
          $arraydata == "Delivery charges") 
        {} 
       else 
        { 
         $string = preg_replace("/\d+\.\d+/", "", $arrayvalue[0]); 
         $string = str_replace('($)', '', $string); 
         // printing Filds : Value 
         echo $arraydata.": ".$string."<br>"; 
        } 

       } 

이렇게하면 if 조건에 언급 된 사용자를 제외하고 gform의 값이있는 필드가 반환됩니다. preg_replace는 제품 가격, 할인 가격 및 퍼센트, 세금 (해당되는 경우)을 제거하는 데 사용됩니다. 예컨대 것이

Selected Product : Headphones ($25.45), Mouse ($15.00), Keyboard(with backlight) ($45.00) 
Total Price : $85.45 
Payment Gateway: Credit Card 

이 모든 워드 프레스 사전 알림 플러그인을 통해 특정 이메일 주소로 이메일을 보내드립니다 발생하는 파일

Selected Product : Headphones , Mouse , Keyboard(with backlight) 
Payment Gateway: Credit Card 

에 변경됩니다.