首页 > 解决方案 > WooCommerce wc_price($price) & 变化 & 头痛

问题描述

我遇到了一些 PHP 的初学者问题...

我想根据产品变体是出租还是出售来更改可变产品的价格标签。每个产品都有两种选择。

我意识到产品的帖子标题包含文本“租”或“购买”,具体取决于变体。

因此,我在此处删除了一些代码,以尝试根据产品帖子标题的结果显示不同的标签。目前看起来像这样(但不起作用!),感觉这完全是错误的方法,有人可以帮忙吗?

function sv_change_product_html( $price_html, $product ) {

$is_rental = get_post_meta( $product->id, 'post_title' );
$price = $product->get_regular_price();

if (strpos($is_rental, "Rent") !== false) {
    $price_html = '<span class="amount">' . wc_price( $price ) . ' per week</span>';    
}
 else
 {
$price_html = '<span class="amount">' . wc_price( $price ) . ' buy today</span>';
}

return $price_html;
}    

标签: phpwordpresswoocommerceproductprice

解决方案


可能更好的方法是检查随附的产品属性,该属性将值存储在您拥有您的变体(“租”/“购买”)的基础上,然后从那里开展业务,因为这种方法看起来很老套,并且可能会失败,如果店主决定在未来改变他们命名产品的方式。

此外,您可以使用 WooCommerce 类(产品/产品变体)中提供的方法获取产品属性,如名称 ( $product->get_name())、属性 ( $product->get_attribute(<attr_name>)) 等

另外,您的功能是否与正确的过滤器挂钩?


推荐阅读