首页 > 解决方案 > 为 Woocommerce 中几乎所有产品的显示价格添加后缀

问题描述

我尝试将is_productand添加if ( $product->get_id() !== xxx )到函数中,但这会使函数崩溃。

这是我试图添加到除一个之外的所有产品中的功能。

function change_product_price_html($price){
    if ( $product->get_id() !== 555 ) {
    $newPrice   = $price;
    $newPrice   .= " / m3";
    return $newPrice;
    }
}

add_filter('woocommerce_get_price_html', 'change_product_price_html');

我可能需要一个数组来获取产品 ID 吗?

标签: phpwordpresswoocommerceproductprice

解决方案


您忘记了$product函数中的参数和其他错误。改为尝试:

add_filter('woocommerce_get_price_html', 'change_product_price_html', 10, 2 );
function change_product_price_html( $price, $product ){
    if ( $product->get_id() !== 555 ) {
        $price .= __(" / m3");
    }
    return $price;
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该有效。


is_product()对于仅使用条件标签的单个产品页面:

add_filter('woocommerce_get_price_html', 'change_product_price_html', 10, 2 );
function change_product_price_html( $price, $product ){
    if ( is_product() && $product->get_id() !== 555 ) {
        $price .= __(" / m3");
    }
    return $price;
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该有效。


推荐阅读