【问题标题】:Add CSS class for low stock products on single product page in WooCommerce在 WooCommerce 的单个产品页面上为低库存产品添加 CSS 类
【发布时间】:2020-07-11 14:21:28
【问题描述】:

我对php不是很熟悉,我正在尝试在下面的sn-p中为'Low stock'添加一个类。

我想要实现的是在 WooCommerce 中制作低库存橙色 vis CSS。


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;
}

【问题讨论】:

    标签: php css wordpress woocommerce product


    【解决方案1】:
    • add_filter() 不见了
    • $availability 包含[availability][class],您更改文本,同时要添加一个类
    • $qty 在您的代码中未使用
    • 类不必是可翻译的,因此不需要使用__()

    要使用 if 条件将类添加到已存在的类,请改用 woocommerce_get_availability_class 过滤器挂钩

    // 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】:

      自从我使用 WooCommerce 以来已经有一段时间了,所以我不确定这是否能解决问题,但你可以试试:

      $availability['availability'] = __( "<em class='low_stock'>Low stock</em>", 'woocommerce' );
      

      这可能行得通,否则可能有一个钩子。

      【讨论】:

        猜你喜欢
        • 2021-11-01
        • 1970-01-01
        • 2023-01-22
        • 2018-11-07
        • 2018-07-07
        • 1970-01-01
        • 2018-12-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多