从特定产品中排除自定义WooCommerce可用性文本

小鬣蜥

我正在使用以下php代码在Woocommerce产品页面上的产品可用性文本(有货/无货)旁边添加自定义的全局消息。

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability_text, $product ) {

    if( $product->is_in_stock() && $product->managing_stock() && 
    ! $product-> is_on_backorder( 1 ) && $product->get_stock_quantity() > 0 ) {
        $availability_text .= 'Free Shipping' . __("", "woocommerce");
    }
    return $availability_text;
}

当前,“免费送货”消息显示在所有产品页面上。如何排除特定产品以显示该自定义可用性消息?

LoicTheAztec

更新

通过在您的IF语句中添加要排除的产品ID数组,如下所示:

&& ! in_array( $product->get_id(), array(37, 45, 46, 58) )

因此,在您的代码中:

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability_text, $product ) {
    if( $product->is_in_stock() && $product->managing_stock() 
    && ! $product->is_on_backorder( 1 ) && $product->get_stock_quantity() > 0 
    && ! in_array( $product->get_id(), array(37, 45, 46, 58) ) ) {
        $availability_text .= ' ' . __("Free Shipping", "woocommerce");
    }
    return $availability_text;
}

它应该工作。


处理可变产品

要处理可变产品,也可以替换代码行:

&& ! in_array( $product->get_id(), array(37, 45, 46, 58) ) ) {

通过以下代码行:

&& ! array_intersect( array($product->get_id(), $product->get_parent_id()), array(37, 45, 46, 58) ) ) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Woocommerce的自定义送货折扣中排除用户角色

在WooCommerce中将自定义标签添加到特定产品类型的单个产品页面

在Woocommerce中将自定义单一产品模板用于特定产品类别

从Woocommerce档案库中的自定义显示按钮中排除产品类别

在WooCommerce单一产品页面上为特定产品添加自定义内容

在Woocommerce中为特定产品类别添加自定义按钮

在Woocommerce中的特定电子邮件通知上为特定产品添加自定义文本

在WooCommerce中为特定产品类别自定义“添加到购物车”按钮

WooCommerce:如果购物车中有特定产品ID,则显示自定义结帐字段

从Woocommerce的自定义动态定价中排除产品类别

Woocommerce中特定产品的自定义价格

仅针对英国和Woocommerce 3中的特定产品提供自定义免费送货

在Woocommerce购物车中显示特定产品ID的自定义缩略图

在Woocommerce中更改产品库存可用性文本

如果Woocommerce上的购物车中有特定产品,则显示自定义结帐字段

添加到缺货可用性文本中,Woocommerce单一产品的可用性日期

根据自定义字段对特定产品进行折扣

基于地理位置的WooCommerce中特定产品的自定义重定向

Woocommerce REST API排除订单端点中的特定产品

WooCommerce自定义缺货文本+特定产品ID

Woocommerce自定义产品文本

在 WooCommerce 中输出特定产品类别的自定义短代码

选择变体时,Woocommerce 自定义可用性文本显示多次

WooCommerce 中特定产品类别的自定义条款和条件复选框

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

如何在“继续结帐”按钮上添加自定义 URL,特定产品类别 [WooCommerce]

在 Woocommerce 的自动完成订单流程中排除特定产品

对于 WooCommerce 订单上具有已完成状态的特定产品,请从特定自定义页面更改信息

在特定产品 ID woocommerce 上添加自定义字段