ホームページ >バックエンド開発 >PHPチュートリアル >WooCommerce 3 でフックを使用して商品の価格を効率的に変更するにはどうすればよいですか?
WooCommerce 3 のフックを使用した商品価格の変更
WooCommerce 3 では、バリエーション価格のオプションなど、フックを使用して商品価格を操作するための改良されたオプションが導入されました。ただし、試行したフックは適切ではない可能性があります。
製品価格を制御するための推奨フックは次のとおりです:
シンプル、グループ化、外部製品:
バリエーション:
変数 (価格範囲):
販売:
の場合バリエーション価格を管理するには、キャッシュされた価格も管理する必要があります。 woocommerce_get_variation_prices_hash フィルターは、この目的に効率的です。
バリエーションをより効果的に処理するには、以下に提供されるコードのプラグイン バージョンを検討してください。これにはコンストラクター関数が含まれており、価格キャッシュを処理します。
// Plugin Version class MyPlugin { public function __construct() { // Simple, grouped, and external products add_filter('woocommerce_product_get_price', array($this, 'custom_price'), 99, 2); add_filter('woocommerce_product_get_regular_price', array($this, 'custom_price'), 99, 2); // Variations add_filter('woocommerce_product_variation_get_regular_price', array($this, 'custom_price'), 99, 2); add_filter('woocommerce_product_variation_get_price', array($this, 'custom_price'), 99, 2); // Variable (price range) add_filter('woocommerce_variation_prices_price', array($this, 'custom_variable_price'), 99, 3); add_filter('woocommerce_variation_prices_regular_price', array($this, 'custom_variable_price'), 99, 3); // Handling price caching add_filter('woocommerce_get_variation_prices_hash', array($this, 'add_price_multiplier_to_variation_prices_hash'), 99, 3); } // ...functionality as described in the original answer... } new MyPlugin();
テーマを使用する場合は、functions.php ファイルに次のコードを配置します。
// Theme Version // ...functionality as described in the original answer...
表示 HTML の使用を覚えておいてください。フックによって製品価格が事実上変更されることはありません。さらに、ウィジェットで製品価格をフィルタリングするためのフックを検討してください。これにより、最小価格と最大価格の設定が可能になります。
以上がWooCommerce 3 でフックを使用して商品の価格を効率的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。