Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengubah Harga Produk dengan Cekap dalam WooCommerce 3 Menggunakan Cangkuk?

Bagaimanakah Saya Boleh Mengubah Harga Produk dengan Cekap dalam WooCommerce 3 Menggunakan Cangkuk?

Barbara Streisand
Barbara Streisandasal
2024-11-28 08:38:11468semak imbas

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

Tukar Harga Produk Menggunakan Cangkuk dalam WooCommerce 3

WooCommerce 3 memperkenalkan pilihan yang dipertingkatkan untuk memanipulasi harga produk menggunakan cangkuk, termasuk yang untuk harga variasi. Walau bagaimanapun, mata kail yang telah anda cuba mungkin tidak sesuai.

Kail yang disyorkan untuk mengawal harga produk ialah:

  • Mudah, Berkumpulan dan Luaran Produk:

    • woocommerce_product_get_price
    • woocommerce_product_get_regular_price
  • Variasi:

    • woocommerce_product_variation_get_regular_price
    • woocommerce_product_variation_get_price
  • Berubah (Harga Julat):

    • harga_variasi_woocommerce
    • woocommerce_ variasi_harga_harga_biasa
  • Jualan:

    • wooco mmerce_product_get_sale_price
    • woocommerce_variation_price_sale_price
    • woocommerce_product_variation_get_sale_price

Untuk harga variasi, anda juga perlu mengurus harga cache. Penapis woocommerce_get_variation_prices_hash adalah cekap untuk tujuan ini.

Untuk mengendalikan variasi dengan lebih berkesan, pertimbangkan versi pemalam bagi kod yang disediakan di bawah. Ia termasuk fungsi pembina dan mengendalikan caching harga.

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

Untuk kegunaan tema, letakkan kod berikut dalam fail functions.php anda:

// Theme Version
// ...functionality as described in the original answer...

Ingat, penggunaan html paparan cangkuk tidak akan mengubah harga produk dengan berkesan. Selain itu, pertimbangkan cangkuk untuk menapis harga produk dalam widget, yang membenarkan penetapan harga minimum dan maksimum.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Harga Produk dengan Cekap dalam WooCommerce 3 Menggunakan Cangkuk?. 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