WooCommerce のフックを介して商品価格を変更する 3
WooCommerce プラットフォームには、商品価格を変更するためのさまざまなフックが用意されています。 add_filter('woocommerce_get_normal_price') と add_filter('woocommerce_get_price') を使用して提示されたソリューションは単純な商品には機能しますが、バリエーション商品に関しては制限に遭遇します。
バリエーション商品の価格設定
バリエーション製品の価格を調整するには、次の更新されたフックを使用します。推奨:
シンプル、グループ化、外部製品:
バリエーション:
変数製品範囲:
プラグイン実装
プラグイン内でこれらのフックを実装するには、次の点を考慮してください:
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2); add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3); add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3); function custom_price($price, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; } function custom_variable_price($price, $variation, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; }
テーマの実装
テーマを使用する場合-ベースのアプローチでは、functions.php に次のコードを含めます。ファイル:
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2); add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3); add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3); function custom_price($price, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; } function custom_variable_price($price, $variation, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; }
追加のメモと機能拡張
以上がWooCommerce 3 で商品の価格をプログラムで変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。