2016-11-05 62 views
0

我正在使用產品插件的重力。在發送郵件時,Woo-commerce將Gform數據嵌入到產品中併發送給客戶和管理員。我也想將這封電子郵件發送給管理員,但不想向他顯示價格和折扣。因爲我使用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」數組捕獲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>"; 
        } 

       } 

這將從gform返回字段的值與他們的值,除了那些在if條件中提到的那些。 preg_replace用於從價值中刪除產品價格,折扣價格和百分比,以及適用的稅金。對於e.g它將改變

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 

文件中,這一切都發生將發送一封電子郵件,以通過WordPress的預先通知插件特定的電子郵件地址。