根据产品类别更改WooCommerce缺货订单消息(产品页面)

时间:2019-09-13 08:20:10

标签: wordpress woocommerce hook-woocommerce

我正在尝试根据特定产品的产品类别创建各种不同的自定义积压订单消息。例如

如果产品在类别X下并且在延期交货上,则在产品页面上显示自定义的延期交货消息X。 如果产品在类别Y下并且在延期交货上,则在产品页面上显示自定义的延期交货消息Y。 如果产品在类别Z下并且在补货上,则在产品页面上显示自定义补货消息Z。

我知道您通常可以加入过滤器:

woocommerce_get_availability_text

,然后执行以下操作。但这适用于所有拖欠订单。任何人都知道我将如何进行类别特定的操作?

function custom_backorder_message( $text, $product ){
  if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
  $text = __( 'Please allow 28 days for delivery of this item' );
}
return $text;
}
add_filter( 'woocommerce_get_availability_text', 'custom_backorder_message', 10, 2 );

1 个答案:

答案 0 :(得分:1)

只需添加以下代码段-

function custom_backorder_message( $text, $product ){
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        // Dont forget to replace x,y,z with respective categories
        if( has_term( 'x', 'product_cat' ) ) {
            $text = __( 'Please allow 28 days for delivery of this item', 'text-domain' );
        }elseif(has_term( 'y', 'product_cat' ) ){
            $text = __( 'Your Y category product message goes here', 'text-domain' );
        }elseif(has_term( 'z', 'product_cat' ) ){
            $text = __( 'Your Z category product message goes here', 'text-domain' );
        }
    }
    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'custom_backorder_message', 10, 2 );