在WooCommerce中更改具有特定SKU的产品的延期订单消息

时间:2017-05-29 09:21:31

标签: php wordpress woocommerce

我希望根据ID,SKU或其他独特的东西,为某些WooCommerce产品提供自定义后退订单消息。

现在我有了这个,这适用于所有启用了逆序的产品,但是如果我希望这个逻辑只针对某些产品变化而有条件呢?

function backorder_text($availability) {
    if($product->get_sku() == "111100"){
        foreach($availability as $i) {
            //$availability = str_replace('Available on backorder', 'Yo, allow 3-4 weeks for your shiz!', $availability);
            $availability = str_replace('Beschikbaar via nabestelling', 'UITVERKOCHT (U kunt wel bestellen, maar de levertijd is 2-3 werkdagen).', $availability);
        }
        return $availability; 
    }
}
add_filter('woocommerce_get_availability', 'backorder_text');

2 个答案:

答案 0 :(得分:0)

  if( $product->is_type( 'variable' ) ){
     $available_variations = $product->get_available_variations()
    foreach( $available_variations as $i => $variation ) {

    //Do your code here by checking specific

    }
}

答案 1 :(得分:0)

这对我来说效果最好:

function backorder_text_prikkabel_zonder_fittingen( $availability, $product ) {
    $product_ids = array( 7631, 7631, 8612, 7629, 7628, 7627 ); 
    if ( in_array( $product->get_id(), $product_ids ) ){ 
        foreach( $availability as $i ) {
            $availability = str_replace( 'Default back-order message', 'Your custom back-order message', $availability );
        }
    }
    return $availability;
}
add_filter('woocommerce_get_availability', 'backorder_text_prikkabel_zonder_fittingen', 10, 2 );

说明:该数组包含产品变体ID的列表。如果您在页面底部的某处回显$product->get_id(),则会看到该产品的每个产品变体的ID列表。

确保默认订单消息与您在产品页面上获得的消息完全匹配,以便使用自定义消息。