【问题标题】:Woocommerce Calculate amount by customer input in product pageWoocommerce 根据产品页面中的客户输入计算金额
【发布时间】:2016-03-23 15:01:33
【问题描述】:

在产品页面中以字数形式从客户那里获取输入。计算金额从产品附加固定金额到每500字以上加收10美元。

例如:1. 字数:530 正常价格 + 附加价格:180 美元 + 10 美元 总计:190 美元

  1. 字数:1040 正常价格 + 附加价格:180 美元 + 20 美元 总计:200 美元

此过程为创建动态输入表单客户以计算价格和总金额。

`$extra_amount = (int)'10';
$amount = (int)'180'; // how to get amount from woocommerce data
if(isset($_POST['wordnumber'])){ // how to get this paramater form woocommerce post values
$test =$_POST['wordnumber'];
$original_amount = '';
    if($test <= (int)'500'){
        $original_amount = $amount;
    }
    elseif($test > (int)'500'){
        $div_amount = $test/(int)'500';
        $round = floor($div_amount);
        //echo '<br/>';
        $total_extra = $round*$extra_amount;
        $original_amount = $amount+$total_extra;
    }
    echo $original_amount;
}`

【问题讨论】:

  • 能否分享您的代码,以便我们为您提供准确的帮助!
  • 这是我尝试嵌入到 woocommerce 中的代码

标签: wordpress


【解决方案1】:

我安装了 WC Fields Factory 插件,然后我使用键从一个字段中获取值。因为我写了一个函数并覆盖了价格值。

function calculate_gift_wrap_fee( $cart_object ) {
/* Gift wrap price */
$additionalPrice = 10;
    foreach ( $cart_object->cart_contents as $key => $value ) {  
             $test = $value['custom field'];
               if( $test <= 100 ) {
                   $quantity = floatval( $value['quantity'] );
                    $orgPrice = floatval( $value['data']->price );
                    $value['data']->price = ( $orgPrice );
                }
                elseif( $test > 100 ) {
                    $div_amount = floatval($test/500);
                    $round = floor($div_amount);
                    $total_extra = floatval($round * $additionalPrice); 
                    $quantity = floatval( $value['quantity'] );
                    $orgPrice = floatval( $value['data']->price );
                    $pp = ($value['price']);
                    $total = floatval($pp + $total_extra);
                    $value['data']->price = ( $orgPrice + $total );
                }       
    }}
add_action( 'woocommerce_before_calculate_totals', calculate_gift_wrap_fee', 1, 1 );

【讨论】:

    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多