Woocommerce 动态销售和常规定价标记片段

问题描述

根据 Change product prices via a hook in WooCommerce 3+ 答案代码,我为 WooCommerce 中的动态价格标记创建了一个片段。

它似乎可以工作,但也许代码可以更小或更佳.... 此外,我正在测试的产品有 6% 的销售价格,但我的代码片段只有 5% 的销售价格。 我不知道为什么。

代码段适用于常规和销售价格以及可变产品。 而且它也可能会帮助其他人,因为 woocommerce 中没有内置产品价格加价。 这是片段:

// Variable
    add_filter('woocommerce_product_variation_get_regular_price','custom_price',99,2 );
    add_filter('woocommerce_product_variation_get_price',2 );
    add_filter( 'woocommerce_product_get_sale_price','sale_custom_price',2 );
    
    // Variations (of a variable product)
    add_filter('woocommerce_variation_prices_price','custom_variation_price',3 );
    add_filter('woocommerce_variation_prices_regular_price',3 );
    add_filter( 'woocommerce_variation_prices_sale_price','sale_variation_custom_price',3 );
    
    function custom_price( $price,$product ) {
        // Delete product cached price  (if needed)
        wc_delete_product_transients($product->get_id());
        
        $fdp = $price + 17;
        $mntpour = $fdp * (15/100);
        $mrkp = $fdp + $mntpour;
        return $mrkp;
    }
    
    function sale_custom_price( $price,$product ) {
        // Delete product cached price  (if needed)
        wc_delete_product_transients($product->get_id());
        
        $fdp = $price + 17;
        $mntpour = $fdp * (15/100);
        $mrkp = $fdp + $mntpour;
        return $mrkp;
    }
    
    function custom_variation_price( $price,$variation,$product ) {
        // Delete product cached price  (if needed)
        wc_delete_product_transients($variation->get_id());
    
        $fdp = $price + 17;
        $mntpour = $fdp * (15/100);
        $mrkp = $fdp + $mntpour;
        return $mrkp;
    }
    
    function sale_variation_custom_price( $price,$product ) {
        // Delete product cached price  (if needed)
        wc_delete_product_transients($variation->get_id());
    
        $fdp = $price + 17;
        $mntpour = $fdp * (15/100);
        $mrkp = $fdp + $mntpour;
        return $mrkp;
    }

fdp 是 17 美元的运费 mntpour 是 15% 的价格加价 mrkp 是最终的总价格加价。

我希望有人能帮我找出为什么我在这代码中遗漏了 1% 销售和正常价格。 您可以将此代码段粘贴到子主题functions.PHP 中并在您的产品上进行测试。

已经谢谢了!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...