2017-05-29 61 views
1

我希望根據某些WooCommerce產品的ID,SKU或其他特有的東西,爲其定製後臺訂購消息。更改WooCommerce中具有某些SKU的產品的後臺訂購消息

現在我有這個功能,並且對於所有已啓用後臺訂購的產品都可以正常工作,但是如果我希望此邏輯僅適用於某些產品版本,該怎麼辦?

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

這其實對我來說最好的工作:

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列表。

請確保默認的訂單消息與您在產品頁面上獲得的消息完全匹配,以便使用自定義消息。

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 

    } 
} 
相關問題