WooCommerce中选定产品类别的自定义产品价格后缀 [英] Custom product price suffix for selected product categories in WooCommerce

查看:91
本文介绍了WooCommerce中选定产品类别的自定义产品价格后缀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在WooCommerce的价格标签后显示一段文字。我有一个适用于我的functions.php的代码,但它在所有产品类别中均显示。

I would like to display a piece of text after the price tag in WooCommerce. I have a code that is working for my functions.php, but it shows on all product categories.

我想知道是否有人知道如何使此自定义文本仅针对选定的类别显示。甚至更好的是未选择的产品类别,因为将显示文本的产品类别要比不显示产品类别的产品多得多。

I was wondering if someone knows how to make this custom text to show for only selected categories; or even better, unselected product categories as there are a lot more product categories that will display the text than the ones who doesn't.

我的实际代码:

add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message( $price ) {
    $mt = ' per M/T';
    return $price . $mt;
}


推荐答案

请尝试使用以下代码 has_term()用于已定义产品类别的条件函数:

Try the following code that uses has_term() conditional function for defined product categories:

add_filter( 'woocommerce_get_price_html', 'conditional_price_suffix', 20, 2 );
function conditional_price_suffix( $price, $product ) {
    // HERE define your product categories (can be IDs, slugs or names)
    $product_categories = array('t-shirts','hoodies');

    if( has_term( $product_categories, 'product_cat', $product->get_id() ) )
        $price .= ' ' . __('per M/T');

    return $price;
}

代码进入活动子主题(或活动主题)的function.php文件)。经过测试并有效。

Code goes in function.php file of your active child theme (or active theme). Tested and works.

要排除已定义的产品类别,您将替换:

if( has_term( $product_categories, 'product_cat', $product->get_id() ) )

只需:

if( ! has_term( $product_categories, 'product_cat', $product->get_id() ) )

这篇关于WooCommerce中选定产品类别的自定义产品价格后缀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆