首页 文章

在woocommerce中显示单个产品的税额

提问于
浏览
1

我想添加一个woocommerce功能,创建一个显示产品页面中单个产品的税额的短代码 .

最佳解决方案是直接在php函数中进行数学运算(productprice * 0,25)并回显结果,因为我们不含税就销售我们的产品 . 这个脚本的原因是向我们的客户展示他们在从非欧盟国家进口产品期间将支付多少税款 .

即产品价格:100美元税率25%税额25美元

我想用短代码显示税额,如下所示:

该产品的总税金额:25美元

谢谢!

1 回答

  • 1

    使用以下代码可以轻松完成此操作:

    if( ! function_exists('get_formatted_product_tax_amount') ) {
    
        function get_formatted_product_tax_amount( $atts ) {
            // Attributes
            $atts = shortcode_atts( array(
                'id' => '0',
            ), $atts, 'tax_amount' );
    
            global $product, $post;
    
            if( ! is_object( $product ) || $atts['id'] != 0 ){
                if( is_object( $post ) && $atts['id'] == 0 )
                    $product_id = $post->ID;
                else
                    $product_id = $atts['id'];
    
                $product = wc_get_product( $product_id );
            }
    
            if( is_object( $product ) ){
                $price_excl_tax = wc_get_price_excluding_tax($product);
                $price_incl_tax = wc_get_price_including_tax($product);
                $tax_amount = $price_incl_tax - $price_excl_tax;
    
                return wc_price($tax_amount);
            }
        }
    
        add_shortcode( 'tax_amount', 'get_formatted_product_tax_amount' );
    }
    

    代码位于活动子主题(或活动主题)的function.php文件中 .

    经过测试和工作


    USAGE (例子):

    1)在单个产品页面中,简短描述文本编辑器:

    Total tax amount for this product: [tax_amount]
    

    2)对于单个产品页面,在PHP代码中:

    $text = __('Total tax amount for this product', 'woocommerce');
    echo '<p>' . $text . ': ' . do_shortcode("[tax_amount]") . '</p>';
    

    3)在其他页面上,在文本编辑器中(将产品ID设置为参数):

    Total tax amount for this product: [tax_amount id="37"]
    

    4)任何地方,在PHP代码中(将产品ID设置为参数):

    $text = __('Total tax amount for this product', 'woocommerce');
    echo '<p>' . $text . ': ' . do_shortcode("[tax_amount id='37']") . '</p>';
    

相关问题