久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

添加一個結帳復選框字段,以在 Woocommerce 中啟用

Add a checkout checkbox field that enable a percentage fee in Woocommerce(添加一個結帳復選框字段,以在 Woocommerce 中啟用百分比費用)
本文介紹了添加一個結帳復選框字段,以在 Woocommerce 中啟用百分比費用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

在 Woocommerce 結帳頁面中,我嘗試在結帳頁面上添加一個復選框并將其稱為分期付款".

勾選復選框以添加3%總金額.

例如,如果總金額是100$,它會在總金額之前添加一個額外的部分,并稱之為分期付款(3% = $3) 并將該金額添加到總數中.

解決方案

基于"

<小時>

僅在選中復選框時激活的分期付款"百分比費用:

In Woocommerce checkout page, I'am trying to add a check box on checkout page and call it "Installment".

When checkbox is ticked to add 3 percent total amount.

For example, if the total amount is 100$ it will add an extra section before the total amount and call it Installment fee (3% = $3) and add that amount to the total.

解決方案

Based on "Dynamic shipping fee based on custom radio buttons in Woocommerce", Here it's a light changed version, with a checkbox located after billing fields, that will enable a 3% fee when checkbox is checked:

// Add a custom checkbox fields after billing fields
add_action( 'woocommerce_after_checkout_billing_form', 'add_custom_checkout_checkbox', 20 );
function add_custom_checkout_checkbox(){

    // Add a custom checkbox field
    woocommerce_form_field( 'installment_fee', array(
        'type'  => 'checkbox',
        'label' => __(' Installment 3% fee'),
        'class' => array( 'form-row-wide' ),
    ), '' );
}

// Remove "(optional)" label on "Installement checkbox" field
add_filter( 'woocommerce_form_field' , 'remove_order_comments_optional_fields_label', 10, 4 );
function remove_order_comments_optional_fields_label( $field, $key, $args, $value ) {
    // Only on checkout page for Order notes field
    if( 'installment_fee' === $key && is_checkout() ) {
        $optional = '&nbsp;<span class="optional">(' . esc_html__( 'optional', 'woocommerce' ) . ')</span>';
        $field = str_replace( $optional, '', $field );
    }
    return $field;
}

// jQuery - Ajax script
add_action( 'wp_footer', 'checkout_fee_script' );
function checkout_fee_script() {
    // Only on Checkout
    if( is_checkout() && ! is_wc_endpoint_url() ) :

    if( WC()->session->__isset('enable_fee') )
        WC()->session->__unset('enable_fee')
    ?>
    <script type="text/javascript">
    jQuery( function($){
        if (typeof wc_checkout_params === 'undefined') 
            return false;

        $('form.checkout').on('change', 'input[name=installment_fee]', function(e){
            var fee = $(this).prop('checked') === true ? '1' : '';

            $.ajax({
                type: 'POST',
                url: wc_checkout_params.ajax_url,
                data: {
                    'action': 'enable_fee',
                    'enable_fee': fee,
                },
                success: function (result) {
                    $('body').trigger('update_checkout');
                },
            });
        });
    });
    </script>
    <?php
    endif;
}

// Get Ajax request and saving to WC session
add_action( 'wp_ajax_enable_fee', 'get_enable_fee' );
add_action( 'wp_ajax_nopriv_enable_fee', 'get_enable_fee' );
function get_enable_fee() {
    if ( isset($_POST['enable_fee']) ) {
        WC()->session->set('enable_fee', ($_POST['enable_fee'] ? true : false) );
    }
    die();
}

// Add a custom dynamic 3% fee
add_action( 'woocommerce_cart_calculate_fees', 'custom_percetage_fee', 20, 1 );
function custom_percetage_fee( $cart ) {
    // Only on checkout
    if ( ( is_admin() && ! defined( 'DOING_AJAX' ) ) || ! is_checkout() )
        return;

    $percent = 3;

    if( WC()->session->get('enable_fee') )
        $cart->add_fee( __( 'Installment fee', 'woocommerce')." ($percent%)", ($cart->get_subtotal() * $percent / 100) );
}

Code goes in function.php file of your active child theme (or active theme). Tested and works.


The field displayed after billing checkout fields:


The Percentage "Installment" fee activated only when checkbox is checked:

這篇關于添加一個結帳復選框字段,以在 Woocommerce 中啟用百分比費用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作為類名,因為它是保留的 Cake 2.2.x)
Session is lost after an OAuth redirect(OAuth 重定向后會話丟失)
Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分頁排序)
CakePHP Shared core for multiple apps(CakePHP 多個應用程序的共享核心)
Login [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登錄 [ Auth-identify() ] 始終為 false)
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命錯誤:允許的內存大小為 134217728 字節已用盡(嘗試分配 87 字節))
主站蜘蛛池模板: 久久91视频 | 成人毛片视频免费 | 老司机午夜性大片 | 久久av一区二区三区 | 一区二区亚洲 | 狠狠操狠狠操 | 国产成人精品一区二三区在线观看 | 成人一区二区在线 | 天天操天天怕 | 精品一区二区三区av | 国产网站在线播放 | 日韩欧美中文字幕在线观看 | 99色综合| 久久久久久综合 | 日韩国产一区二区三区 | 中文字幕av一区二区三区 | 伊人久久大香线 | 操操日| 美国黄色毛片 | 在线观看免费黄色片 | 日韩精品999 | 久久久久久久久久久久久91 | 国产91精品久久久久久久网曝门 | 中文字幕一区二区三区在线观看 | 亚洲午夜视频在线观看 | 99精品久久久 | 美女日批免费视频 | 欧美专区日韩专区 | 日韩av在线一区 | 亚洲精品99 | 亚洲一区欧美 | 国产成人精品一区二区三区四区 | 国产精品久久久久久亚洲调教 | 一区二区三区四区不卡视频 | 日韩成人在线视频 | 真人女人一级毛片免费播放 | 国产亚洲黄色片 | 成人免费毛片在线观看 | 久操国产 | 日韩日韩日韩日韩日韩日韩日韩 | 波多野结衣在线观看一区二区三区 |