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
Lepaskan: 2024-11-29 01:56:13
asal
235 orang telah melayarinya

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);
Salin selepas log masuk

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 );
Salin selepas log masuk

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 );
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan