WooCommerce网店促销,给促销价格添加自定义名称

双十一快要到了,接到客户的临时需求,是为他们的WooCommerce网店大促销做一些小修改。其中一个修改是给设置了促销价格的商品添加价格注释,就像以下这个样子。

很简单的一个需求,利用woocommerce_get_price_html这个钩子就能实现,代码如下:

1
2
3
4
5
6
function brain1981_change_product_html( $price_html, $product ) {
	if( $product->is_on_sale() ) {
		$price_html.='<span style="display:block;font-size:12px;font-weight:normal;color:#c98c4b;">双十一活动折扣</span>';
	}
	return $price_html;
}

在商品页面显示这句话,还要考虑用户将商品添加到购物车后也显示这样的价格解释,使用户确认自己已经得到了优惠,促进完成支付:

代码如下:

1
2
3
4
5
6
7
8
9
add_filter( 'woocommerce_get_price_html', 'brain1981_change_product_html', 10, 2 );
function brain1981_change_product_price_in_cart( $price, $cart_item, $cart_item_key ) {
	$product = wc_get_product( $cart_item['product_id'] );
	if( $product->is_on_sale() ) {
		$price.='<span style="display:block;font-size:12px;font-weight:normal;color:#c98c4b;">双十一活动折扣</span>';
	}
	return $price;
}
add_filter( 'woocommerce_cart_item_price', 'brain1981_change_product_price_in_cart', 10, 3 );

在WooCommerce中对商品要做任何判断、获取或处理商品数据,都要先想办法获取到商品的对象$product,再从商品对象的内置方法获取商品的属性,比如上面两段代码中,我通过

$product->is_on_sale()

这个方法判断商品是否在促销状态。

获取商品的自定义属性,可以通过这个方法:

$product->$product->get_attribute( 'pa_***' );

这里的pa_***就是在后台你自己设置的商品属性名称。

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/2647.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注