Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengubah Harga Produk dan Variasi Secara Dinamik dalam WooCommerce 3?

Bagaimanakah Saya Boleh Mengubah Harga Produk dan Variasi Secara Dinamik dalam WooCommerce 3?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 01:56:13224semak imbas

How Can I Dynamically Change Product and Variation Prices in WooCommerce 3 ?

Menukar Harga Produk melalui Cangkuk dalam WooCommerce 3

Pemalam WooCommerce menawarkan kaedah mudah untuk mengubah suai harga produk melalui penggunaan cangkuk. Ini membolehkan pelarasan harga dinamik berdasarkan pelbagai kriteria. Walau bagaimanapun, isu timbul apabila cuba mengubah harga variasi dalam WooCommerce 3 .

Pendekatan dan Pengehadan Asal

Untuk mengubah suai semua harga produk, termasuk variasi, cangkuk berikut boleh bekerja:

add_filter('woocommerce_get_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_regular_price', array( $this, 'my_custom_price'), 99);

Malangnya, cangkuk ini tidak mengendalikan variasi dengan berkesan produk.

Penyelesaian untuk Produk Variasi

Untuk berjaya mengubah suai harga variasi dalam WooCommerce 3 , gunakan kod PHP berikut:

// 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 );

Harga Cache dan WooCommerce 3

WooCommerce 3 memperkenalkan harga cache untuk variasi. Untuk menyegarkan semula harga cache dengan cekap apabila pelarasan harga dibuat, gunakan cangkuk berikut:

add_filter( 'woocommerce_get_variation_prices_hash', array( $this, 'add_price_multiplier_to_variation_prices_hash' ), 99, 3 );

Cangkuk Widget Penapisan Harga

Untuk menapis harga produk menggunakan widget, gunakan cangkuk berikut:

woocommerce_price_filter_widget_min_amount
woocommerce_price_filter_widget_max_amount

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Harga Produk dan Variasi Secara Dinamik dalam WooCommerce 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn