Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengubah Harga Produk dan Variasi Secara Dinamik dalam 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!