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

Bagaimanakah Saya Boleh Mengubah Harga Produk Secara Pemrograman dalam WooCommerce 3?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 03:24:10726semak imbas

How Can I Programmatically Change Product Prices in WooCommerce 3 ?

Tukar Harga Produk Melalui Cangkuk dalam WooCommerce 3

Platform WooCommerce menyediakan pelbagai cangkuk untuk mengubah suai harga produk. Walaupun penyelesaian yang dibentangkan menggunakan add_filter('woocommerce_get_regular_price') dan add_filter('woocommerce_get_price') berfungsi untuk produk mudah, ia menghadapi had apabila ia berkaitan dengan produk variasi.

Harga Produk Variasi

Untuk melaraskan harga produk variasi, cangkuk yang dikemas kini berikut ialah disyorkan:

  • 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 Julat Produk:

    • woocommerce_variation_price_price
    • woocommerce_variation_price_regular_price

Pelaksanaan Plugin>Untuk melaksanakan ini cangkuk dalam pemalam, pertimbangkan perkara berikut:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2);

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2);

add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3);
add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);

function custom_price($price, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

function custom_variable_price($price, $variation, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

Pelaksanaan Tema

Jika anda lebih suka pendekatan berasaskan tema, masukkan kod berikut dalam functions.php anda fail:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2);

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2);

add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3);
add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);

function custom_price($price, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

function custom_variable_price($price, $variation, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

Nota Tambahan dan Penambahbaikan

  • Widget Harga: Untuk manipulasi nilai widget penapis harga minimum dan maksimum, pertimbangkan untuk menggunakan cangkuk berikut: woocommerce_price_filter_widget_min_amount dan woocommerce_price_filter_widget.Jualan Produk Harga:
  • Cangkuk khusus wujud untuk harga jualan: woocommerce_product_get_sale_price, woocommerce_variation_price_sale_price dan woocommerce_product_variation_get_sale_price.
  • Price Caching:
  • harga Cached3ation variation Penapis add_filter('woocommerce_get_variation_price_hash') disyorkan untuk mengendalikan caching harga dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Harga Produk Secara Pemrograman 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