Establecer solo el precio de venta de productos específicos programáticamente en WooCommerce 3

Me gustaría establecer el precio de venta del producto programáticamente en WooCommerce 3 pero solo para identificaciones de productos específicos.

¿Es posible y cómo puedo apuntar solo a productos específicos usando este código de hilo ?

No he podido hacer que funcione solo para productos específicos.

Cualquier ayuda es apreciada.

Para establecer solo el precio de venta del producto específico (los ID de los productos se definen en la primera función) , intente esto:

// HERE below in the array set your specific product IDs function specific_product_ids(){ return array(37, 43, 57); // <=== <=== <=== <=== Your Product IDs } // Generating dynamically the product "regular price" add_filter( 'woocommerce_product_get_regular_price', 'custom_dynamic_regular_price', 10, 2 ); add_filter( 'woocommerce_product_variation_get_regular_price', 'custom_dynamic_regular_price', 10, 2 ); function custom_dynamic_regular_price( $regular_price, $product ) { if( ( empty($regular_price) || $regular_price == 0 ) && in_array($product->get_id(), specific_product_ids() ) ) return $product->get_price(); else return $regular_price; } // Generating dynamically the product "sale price" add_filter( 'woocommerce_product_get_sale_price', 'custom_dynamic_sale_price', 10, 2 ); add_filter( 'woocommerce_product_variation_get_sale_price', 'custom_dynamic_sale_price', 10, 2 ); function custom_dynamic_sale_price( $sale_price, $product ) { $rate = 0.8; if( ( empty($regular_price) || $regular_price == 0 ) && in_array($product->get_id(), specific_product_ids() ) ) return $product->get_regular_price() * $rate; else return $sale_price; }; // Displayed formatted regular price + sale price add_filter( 'woocommerce_get_price_html', 'custom_dynamic_sale_price_html', 20, 2 ); function custom_dynamic_sale_price_html( $price_html, $product ) { if( $product->is_type('variable') ) return $price_html; if( in_array($product->get_id(), specific_product_ids() ) ) { $price_html = wc_format_sale_price( wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ), wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) ) ) . $product->get_price_suffix(); } return $price_html; } 

El código va en el archivo function.php de su tema hijo activo (tema activo).

La continuación en:
Establezca solo para productos específicos el precio de venta generado en el carrito de woocommerce