为了账号安全,请及时绑定邮箱和手机立即绑定

使用下拉菜单分期显示产品价格

使用下拉菜单分期显示产品价格

PHP
汪汪一只猫 2023-03-04 10:55:35
我想添加一个下拉菜单,访问者可以在其中选择 12 个月,然后根据该选择,分期显示每月的价格。假设我有一个价格为120 美元的产品。横幅将告知客户:“您可以在 installemets 中购买商品,选择号码”例如,客户将选择 3 个月,在下拉菜单下方的横幅中,结果将为40 美元/月目前我的代码只能使用 12 个月。add_action( 'woocommerce_after_add_to_cart_button', 'show_installments', 20 );function show_installments() {    global $product;     $id = $product->get_id();    $product = wc_get_product( $id );    $a   = $product->get_price();    $b   = 12;    $min = 25;    $c   = round( $a / $b, 2);   if ($a > $min)  {       echo '<p class="p2_installments_12months">Purchase with'.$c.'€ per month for 12 months </p>';   }   }
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

可以使用下面的代码,注意jQuery下拉框和编辑文本的交互也是需要的


function show_installments() {

    global $product; 


    // Get product id   

    $product_id = $product->get_id();


    // Get price

    $price = $product->get_price();


    // Set min price

    $min_price = 25;


    if ( $price > $min_price ) {


        echo '<div class="my_select_box">';


        woocommerce_form_field( 'month_options', array(

            'type'          => 'select',

            'label'         => __('You can purchase the item in installemets, select the the number'),

            'required'      => false,

            'return'       => false,

            'options'   => array(

                ''      => 'Select...',

                '1'  => '1 month',

                '2'  => '2 months',

                '3'  => '3 months',

                '4'  => '4 months',

                '5'  => '5 months',

                '6'  => '6 months',

                '7'  => '7 months',

                '8'  => '8 months',

                '9'  => '9 months',

                '10'  => '10 months',

                '11'  => '11 months',

                '12'  => '12 months',

            )

        ), '' );


        echo '</div>';


        echo '<div class="p2_installments_12months"></div>';


        ?>

        <script type="text/javascript">

        jQuery(document).ready(function ($) {

            var product_price = <?php echo $product->get_price(); ?>;


            $( '[name=month_options]' ).change(function() {

                var dropdown_val = this.value;


                if ( dropdown_val >= 1 ) {

                    var price_per_month = ( product_price / dropdown_val ).toFixed(2);


                    $( '.p2_installments_12months' ).html( '<p class="p2_installments_12months">Purchase with ' + price_per_month + ' € per month for 12 months </p>' );

                } else {

                    $( '.p2_installments_12months' ).html( '<p class="p2_installments_12months"></p>' );

                }

            });

        });

        </script>

        <?php

    }   

}

add_action( 'woocommerce_after_add_to_cart_button', 'show_installments', 20 );



查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信