从重力形式中删除定价字段

时间:2016-11-05 08:15:07

标签: php wordpress gravity-forms-plugin

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

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添加更多产品,那么他只需要在某处输入字段名称,以隐藏/删除该字段的价格/值,而不是标签。他不想玩代码。

有没有解决方案?

1 个答案:

答案 0 :(得分:0)

解决方案如果有人需要它。

我使用了woocommerce" $ item_meta" array tp capture gform data。

        web.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
               Intent redirect = new Intent(context,New.class);
               context.startActivity(redirect);  
                }
           });

除了if条件中提到的那些之外,这将返回gform中包含值的字段。 preg_replace用于从价值中删除产品价格,折扣价格和百分比,税金(如果适用)。例如它会改变

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>";
                    }

                }

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

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