首頁 > 後端開發 > php教程 > 如何以程式設計方式更改 WooCommerce 3 中的產品價格?

如何以程式設計方式更改 WooCommerce 3 中的產品價格?

Mary-Kate Olsen
發布: 2024-12-08 03:24:10
原創
726 人瀏覽過

How Can I Programmatically Change Product Prices in WooCommerce 3 ?

透過 WooCommerce 3 中的掛鉤更改產品價格

WooCommerce 平台提供了各種掛鉤來修改產品價格。雖然使用 add_filter('woocommerce_get_regular_price') 和 add_filter('woocommerce_get_price') 提出的解決方案適用於簡單產品,但在涉及變體產品時會遇到限制。

變體產品定價

為了調整變種產品價格,更新了以下鉤子推薦:

  • 簡單、分組、外部產品:

    • woocommerce_produ ct_get_price
    • woocommerce_product_get_regular_price
  • 變體:

    • woocommerce_product_variation_get_regular_price
    • woocommerce_product_variation_get_price
  • 變數產品範圍:

    • woocommerce_variation_prices_price
    • woocommerce_variation_prices_price
    wcommercevari s_regular_price

外掛實作

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;
}
登入後複製
登入後複製
要在插件中實現這些鉤子,請考慮以下事項:

主題實作

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;
}
登入後複製
登入後複製
如果您喜歡主題基於方法,在你的functions.php中包含以下程式碼檔案:

附加說明和增強功能
  • 定價小部件:
  • 用於操作價格過濾器小部件的最小值和最大值,考慮使用以下掛鉤: woocommerce_price_filter_widget_min_amount 和woocommerce_price_filter_widget_max_amount.
  • 產品銷售定價:
  • 銷售價格存在特定掛鉤:wpris_procas_commerce_producons_sprice_price_sprice_pro和woocommerce_product_variation_get_sale_price.
  • 價格快取:
必須考慮 WooCommerce 3 中的快取變體價格。建議使用 add_filter('woocommerce_get_variation_prices_hash') 過濾器來有效處理價格快取。

以上是如何以程式設計方式更改 WooCommerce 3 中的產品價格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板