修改 WooCommerce 销售气泡以显示节省的价值而不是百分比折扣

问题描述 投票:0回答:1

我正在寻求有关自定义 WooCommerce 中的销售气泡显示的帮助。目前,当产品促销时,WooCommerce 会显示一个销售气泡,指示折扣百分比(例如“20% 折扣”)。但是,我想修改此显示以显示实际节省的价值(以英镑 (£) 为单位)而不是百分比折扣。

这就是我想要实现的目标:

  1. 当产品促销时,我希望销售气泡显示以英镑 (£) 为单位节省的确切金额,而不是百分比折扣。
  2. 例如,如果产品的正常价格为 100 英镑,促销价为 70 英镑,我希望销售气泡显示“节省 30 英镑”而不是“30% 折扣”。
  3. 此修改应适用于 WooCommerce 中的简单产品和可变产品。

我可以选择在“自定义”>“产品目录”中放置占位符:

销售气泡%格式 折扣应如何显示。例如-{值}%

我尝试过实现网上找到的解决方案,例如修改 sale-flash.php 模板文件并在functions.php 文件中使用自定义 PHP 函数。然而,这些尝试并没有达到预期的结果。

php woocommerce hook-woocommerce
1个回答
0
投票

确保在添加任何自定义功能或编辑模板之前创建备份。

尝试以下功能,将此代码添加到主题的functions.php文件中:

    add_filter('woocommerce_sale_flash', 'custom_sale_text', 10, 3);
function custom_sale_text($text, $post, $_product) {
    // Calculate the saved value in pounds (£)
    $regular_price = $_product->get_regular_price();
    $sale_price = $_product->get_sale_price();
    $saved_value = $regular_price - $sale_price;

    // Format the saved value
    $formatted_saved_value = wc_price($saved_value);

    // Return the customized sale bubble text
    return '<span class="onsale">Save ' . $formatted_saved_value . '</span>';
}
© www.soinside.com 2019 - 2024. All rights reserved.