WooCommerce で商品価格を変更するには、特定のフックを使用する必要があります。このプロセスは単純な商品では簡単ですが、バリエーション商品には独特の課題があります。
WooCommerce 3 のバリエーション商品では、古いフック woocommerce_get_regulator_price および woocommerce_get_price の使用は効果的ではなくなりました。それらは非推奨になっているためです。互換性を確保するには、適切なフックを利用して正しく適用することが重要です。
バリエーション価格を含むすべての製品価格を変更するには、次のフックを実装します:
プラグインのバージョン:
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2); // Variations add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2); // Variable (price range) add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3); add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);
テーマバージョン:
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2 ); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2 ); // Variations add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 ); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2 );
custom_price 関数とcustom_variable_price 関数内で、希望する価格乗数を既存の価格に適用して、希望する変更を実現します。
さまざまな商品にはさまざまな価格が表示されます。 woocommerce_variation_prices_price フックと woocommerce_variation_prices_normal_price フックを使用して、この範囲を変更できます。
WooCommerce 3 でキャッシュされた価格を処理するには、woocommerce_get_variation_prices_hash フックを利用します。このフックにより、トランジェントを削除せずに効率的に価格を更新できます。
ウィジェットを使用してフィルタリングされた商品価格については、次のオプションを利用します。フック:
以上がフックを使用して WooCommerce 製品の価格 (バリエーションを含む) を効果的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。