首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WooCommerce的单个产品页面上为低库存产品添加CSS类

在WooCommerce的单个产品页面上为低库存产品添加CSS类
EN

Stack Overflow用户
提问于 2020-03-31 12:56:32
回答 2查看 210关注 0票数 0

我对php不是很熟悉,我正试着在下面的代码片段中添加一个类到'Low stock‘。

我正在努力实现的是在WooCommerce中使低库存橙色可视化CSS。

代码语言:javascript
复制
function change_stock_text( $availability, $_product ) {

    if ( $_product->is_in_stock() ) {

        if ( $_product->get_stock_quantity() < 3 ) {

            $qty                          = $_product->get_stock_quantity();
            $availability['availability'] = __( "Low stock", 'woocommerce' );
        }
    }

    return $availability;
}
EN

回答 2

Stack Overflow用户

发布于 2020-03-31 16:12:51

  • add_filter() is missing
  • $availability包含[availability] & [class],你更改文本,而你想添加的class
  • $qty在你的代码中是未使用的
  • 一个类不一定是可翻译的,所以使用__()是不必要的

要使用if条件向现有类添加类,请改用woocommerce_get_availability_class筛选器挂接

代码语言:javascript
复制
// Availability class
function filter_woocommerce_get_availability_class( $class, $product ) {
    // In stock
    if ( $product->is_in_stock() ) {
        // Stock quantity less then 3
        if ( $product->get_stock_quantity() < 3 ) {
            $class .= ' low-stock';
        }
    }

    return $class;
}
add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );
票数 2
EN

Stack Overflow用户

发布于 2020-03-31 13:04:45

我使用WooCommerce已经有一段时间了,所以我不确定这是否能起到作用,但你可以试试:

代码语言:javascript
复制
$availability['availability'] = __( "<em class='low_stock'>Low stock</em>", 'woocommerce' );

这可能会起作用,否则可能会有一个钩子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60943702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档