El título lo dice todo.
El siguiente código funciona como debería, para productos simples. Pero no puedo entender por qué no tiene influencia en los productos Variable. He estado buscando a través de la red ganchos de filtro y experimentando con una mezcla de diferentes guiones de abajo. Sin suerte hasta ahora.
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; }Pregunta adicional: ¿Cuál podría ser la razón por la que woocommerce_product_get_regular_price no tiene efecto? (También para productos simples) Me gustaría que el código solo se aplique al precio regular e ignore el precio de venta.