我希望根据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');
答案 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列表。
确保默认订单消息与您在产品页面上获得的消息完全匹配,以便使用自定义消息。