【问题标题】:Gravity Forms - Multiple forms with tax重力形式 - 含税的多种形式
【发布时间】:2014-09-13 22:51:21
【问题描述】:

我目前正在使用此代码来计算我的一个表单的税款,但我也希望使用另一个表单来计算税款,但我不确定如何编辑此代码以使其影响 2 个表单或是否存在有更好的办法吗???

// 将“78”更新为表单的 ID add_filter('gform_pre_render_78', 'add_total_script'); 函数 add_total_script($form) { ?> 功能 gform_product_total(formId,总计){ var 税 = ((5 * 总计) / 100); // 将“20”更新为所需的税率; 税 = Math.round(税*100)/100; //将税金四舍五入到小数点后两位 返还总额+税金; } 'Tax', // 将出现在 PayPal 和定价汇总表中的名称 'price' => $tax, // 总税额 '数量' => 1 ); 返回 $product_info; } 函数 get_total($products) { $总计 = 0; foreach($products["products"] as $product){ $price = GFCommon::to_number($product["price"]); if(is_array($product["options"])){ foreach($product["options"] as $option){ $price += GFCommon::to_number($option["price"]); } } $subtotal = floatval($product["quantity"]) * $price; $总计 += $小计; } $total += floatval($products["shipping"]["price"]); 返回$总计; }

【问题讨论】:

    标签: gravity-forms-plugin


    【解决方案1】:

    请检查下面的代码。添加javascript在前端查看税金

    <script type="text/javascript">
      gform.addFilter( 'gform_product_total', function(total, formId){
         var tax = 10,
             newtax  = ( total * tax ) / 100 ;
            return total + newtax;
      } );
    </script>
    

    现在让我们将税款更新到数据库中。

    function saiful_gf_remove_money_symbol($s) {
       return GFCommon::to_number( $s );
    }
    add_filter( 'saiful_gf_remove_money_symbol', 'saiful_gf_remove_money_symbol' );
    
    function saiful_gf_to_money($s) {
       return GFCommon::to_money( $s );
    }
    add_filter( 'saiful_gf_to_money', 'saiful_gf_to_money' );
    
    add_filter( 'gform_product_info', 'add_fee', 10, 3 );
    function add_fee( $product_info, $form, $lead ) {
        $tax = 10;
        $loop_price = 0;
        if( isset($product_info['products']) && count($product_info['products']) > 0 ){
            foreach ($product_info['products'] as $data){
                if( isset($data['options']) && count($data['options']) > 0 ){
                    foreach ( $data['options'] as $key => $option ) {
                        $loop_price += floatval( $option['price'] );
                    }
                }
                $new_price = apply_filters( 'saiful_gf_remove_money_symbol',$data['price']) + $loop_price ;
                $new_price =  ( ( $new_price * $tax ) / 100 ) + apply_filters( 'saiful_gf_remove_money_symbol',$data['price']);
                $data['price'] = apply_filters( 'saiful_gf_to_money', $new_price );
                $product_info['products'] = $data;
            }
        }
        return $product_info;
    }
    

    谢谢

    【讨论】:

      【解决方案2】:

      自从在 Gravity Forms 中引入了“计算”(不记得是哪个版本了),这种计算税金的方法只有在税金计算非常复杂的情况下才需要。看起来你的税很简单。

      这里有一篇文章展示了为您的 Gravity 表单加税的最佳方法(并且还提供了一个用于生成当前小计的合并标签):

      http://gravitywiz.com/subtotal-merge-tag-for-calculations/

      请确保您 check out the demo 看到这一点。

      【讨论】:

      • 谢谢。我以前看过那篇文章,但我似乎无法让它为我工作。它说要在我的functions.php中添加代码,但是当我这样做时,我只会得到白屏死机并且没有任何效果。可能有另一种解决方案吗?还是我想念的东西?如果有帮助,我正在使用一个名为 Pinboard 的免费主题。
      • 查看此页面以获取安装 sn-ps 的帮助:gravitywiz.com/documentation/snippet-troubleshooting 如果没有,请对文章发表评论(即使您以前已经有过),我很乐意提供帮助。跨度>
      猜你喜欢
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      相关资源
      最近更新 更多