ホームページ > バックエンド開発 > PHPチュートリアル > WooCommerce 3 でフックを使用して商品の価格を効率的に変更するにはどうすればよいですか?

WooCommerce 3 でフックを使用して商品の価格を効率的に変更するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-28 08:38:11
オリジナル
463 人が閲覧しました

How Can I Efficiently Change Product Prices in WooCommerce 3  Using Hooks?

WooCommerce 3 のフックを使用した商品価格の変更

WooCommerce 3 では、バリエーション価格のオプションなど、フックを使用して商品価格を操作するための改良されたオプションが導入されました。ただし、試行したフックは適切ではない可能性があります。

製品価格を制御するための推奨フックは次のとおりです:

  • シンプル、グループ化、外部製品:

    • woocommerce_product_get_price
    • woocommerce_product_get_normal_price
  • バリエーション:

    • woocommerce_product_variation_get_normal_price
    • woocommerce_product_variation_get_price
  • 変数 (価格範囲):

    • woocommerce_variation_prices_price
    • woocommerce_ variation_prices_normal_price
  • 販売:

    • wooco mmerce_product_get_sale_price
    • woocommerce_variation_prices_sale_price
    • woocommerce_product_variation_get_sale_price

の場合バリエーション価格を管理するには、キャッシュされた価格も管理する必要があります。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート