【问题标题】:How to make a custom cart fee to be taxable in WooCommerce如何使自定义购物车费用在 WooCommerce 中征税
【发布时间】:2020-11-11 05:59:05
【问题描述】:

找到了我正在寻找的 sn-p,它可以为每个购物车项目添加固定费用,无论价格如何。这个网站卖轮胎。因此每个轮胎将收取 3$

这是我正在使用和工作的代码:

add_action('woocommerce_cart_calculate_fees', function() {
    if (is_admin() && !defined('DOING_AJAX')) {
        return;
    }

    $feetot = WC()->cart->get_cart_contents_count();

    WC()->cart->add_fee(__('Specific Duty on New Tires', 'txtdomain'), 3 * $feetot);
});

我对 PHP 不是很好,我边走边学。我确实花了 3 个小时尝试修改此代码,以便 $3 费用也将被征税。但我想不通。

以下是我尝试对费用征税的尝试之一,但它不起作用:

add_action('woocommerce_cart_calculate_fees', function() {
    if (is_admin() && !defined('DOING_AJAX')) {
        return;
    }
    
    $feetot = WC()->cart->get_cart_contents_count();

    WC()->cart->add_fee(__('Specific Duty on New Tires', 'txtdomain', $taxable = true, $tax_class = ''), 3 * $feetot);
});

我做错了什么?请帮忙。

【问题讨论】:

    标签: php wordpress woocommerce tax fee


    【解决方案1】:

    要使其工作,请在您的代码中替换以下行:

    WC()->cart->add_fee(__('Specific Duty on New Tires', 'txtdomain', $taxable = true, $tax_class = ''), 3 * $feetot);
    

    使用以下代码行(参见WC_Cart add_fee() method

    WC()->cart->add_fee( __('Specific Duty on New Tires', 'text_domain'), $feetot * 3, true, '' );
    

    所以你正确的钩子函数代码是:

    add_action('woocommerce_cart_calculate_fees', 'custom_cart_items_fee' );
    function custom_cart_items_fee( $cart ) {
        if ( is_admin() && ! defined('DOING_AJAX') ) {
            return;
        }
    
        $fee_amount = $cart->get_cart_contents_count() * 3;
    
        $cart->add_fee( __('Specific Duty on New Tires', 'text_domain'), $fee_amount, true, '' );
    }
    

    代码进入活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。

    【讨论】:

    • 成功了,非常感谢,非常感谢。现已征税!
    猜你喜欢
    • 2018-06-22
    • 1970-01-01
    • 2019-05-06
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多