如何更新结帐页面woocommerce上的应付总金额

时间:2016-12-09 10:54:42

标签: php wordpress woocommerce checkout

我想将运费收取到特定用户角色而不是所有用户。我尝试使用基于woocommerce角色的运输插件,但它正在创建我的主题问题。所以,我决定使用woocommerce钩子这样做。具有批发角色的用户无需支付运费。

这是我的代码

$excluded_role = "wholesale";
$user = wp_get_current_user();
if ( empty( $user ) ) return false;

if( in_array( $excluded_role, (array) $user->roles ))
{
    global $woocommerce;
    //echo $woocommerce->cart->get_cart_total();
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function()
        {
            jQuery(".woocommerce-Price-amount.amount").html('<span class="woocommerce-Price-currencySymbol"><?php echo get_woocommerce_currency_symbol();?></span><?php echo $woocommerce->cart->get_cart_total();?>');
        });
    </script>
    <?php
    //return $woocommerce->cart->get_cart_total();
}

现在的问题是,当我点击下订单按钮时​​,此代码没有更新金额,我没有找到更新应付金额的PHP方法。

有人可以建议我如何在结帐页面更新应付总金额。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我在主题的function.php文件中添加了此代码。

function disable_shipping_calc_on_cart( $show_shipping ) {
$excluded_role = "wholesale";
$user = wp_get_current_user();
if ( empty( $user ) ) return false;

if( in_array( $excluded_role, (array) $user->roles ))
{
     return false;
}
return $show_shipping;
}
add_filter( 'woocommerce_cart_ready_to_calc_shipping', 'disable_shipping_calc_on_cart', 99 );

我工作.. :))