首页 > 解决方案 > 根据类别和用户角色更改 Woocommerce 可变产品价格不起作用

问题描述

标题说明了一切。

对于简单的产品,波纹管代码可以正常工作。但我无法弄清楚,为什么它对可变产品没有影响。我一直在网上搜索过滤器挂钩,并尝试混合不同的波纹管脚本。到目前为止没有运气。

add_filter( 'woocommerce_product_get_price', 'custom_price_for_category_role', 10, 2 );
add_filter( 'woocommerce_product_variation_get_price', 'custom_price_for_category_role', 10, 2 );
function custom_price_for_category_role( $price, $product ) {
    //Get all product categories for the current product
    $terms = wp_get_post_terms( $product->get_id(), 'product_cat' );
    foreach ( $terms as $term ) {
        $categories[] = $term->slug;
    }

    if ( ! empty( $categories ) && in_array( 'b2b', $categories, true ) && current_user_can('b2b') ) {
        $price = (($price * 1.25) / 3);
    }

    return $price;

}

奖励问题:woocommerce_product_get_regular_price 无效的原因可能是什么。(也适用于简单产品)我希望代码仅适用于正常价格,而忽略销售价格。

标签: phpwordpresswoocommerce

解决方案


推荐阅读