Показывать стоимость товара в рассрочку с помощью раскрывающегося меню - PullRequest
1 голос
/ 08 мая 2020

Я хотел бы добавить раскрывающееся меню, где посетитель может выбирать между 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 Ответ

1 голос
/ 08 мая 2020

Вы можете использовать следующий код, обратите внимание, что 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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...