从重力表中删除定价字段

Remove pricing fields from gravity form

我正在使用产品插件的重力。在发送邮件时,Woo-commerce 在产品中嵌入 Gform 数据并发送给客户和管理员。我也想将该电子邮件发送给版主,但不想向他显示价格和折扣。为此,我正在使用 WP 预先通知,其中包含一封电子邮件 template.I 我能够从中删除 TOTAL 价格字段,但无法从重力表数据中删除总价格。它显示产品价格和产品名称。例如

Selected City: XXX
Selected Product : Packets (.00)
Quantity : 1
Tax : 5% = [=10=].05
Total : .95
Mode of Payment: Credit Card

所有这些数据都来自数组 "gravity_form_history"。我通过覆盖数组索引手动隐藏价格。但, 我的主管要我给出一个通用的解决方案。如果他使用 gforms 添加更多产品,那么他只需在某处输入字段名称,仅输入该字段的 hide/remove prices/values,而不是标签)。他不想玩代码。

有什么解决办法吗?

解决方案如果有人需要。

我使用了 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>";
                    }

                }

这将 return 来自 gform 的字段及其值,但 if 条件中提到的除外。 preg_replace 用于从值中删除产品价格、折扣价和百分比、税金(如果适用)。例如它会改变

Selected Product : Headphones (.45), Mouse (.00), Keyboard(with backlight) (.00)
Total Price : .45
Payment Gateway: Credit Card

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

发生这一切的文件将通过 Wordpress Advance Notification 插件向特定电子邮件地址发送电子邮件。