if
上記のコードで、製品 ID をチェックするためのステートメントを導入する必要があります。
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
$custom_price = 10; // This will be your custome price
$target_product_id = 598;
foreach ( $cart_object->cart_contents as $value ) {
if ( $value['product_id'] == $target_product_id ) {
$value['data']->price = $custom_price;
}
/*
// If your target product is a variation
if ( $value['variation_id'] == $target_product_id ) {
$value['data']->price = $custom_price;
}
*/
}
}
このコードを任意の場所に追加し、このコードが常に実行可能であることを確認してください。
このコードを追加した後、次のように呼び出します。
global $woocommerce;
$woocommerce->cart->add_to_cart(598);
オーバーライドされた価格で追加されるのはこの製品のみです。カートに追加された他の製品は、オーバーライドされた価格では無視されます。
これが役立つことを願っています。