2017-08-16 3 views
1

Ist es möglich, WooCommerce Variationen Dropdown-Liste anpassen, wie wenn wir zwei Variationen haben Farbe und Größe, mit einer Farbe der Größe „Large“ ausverkauft ist, ist es möglich, „out hinzufügen "mit jeder Variation Drop-Downs.WooCommerce Anpassung Variation Dropdown

+0

ja, ich habe custmozed aber ich gescheitert bin verfügbare Menge zu bekommen, so kann ich Wählen Sie Optionen für nicht auf Lager. Dank –

+0

Dies ist nur möglich, wenn Sie 1 Dropdown haben, aber mit mehr als einem ist dies nicht möglich und nicht logisch ... Ich habe eine Frage wie diese, aber mit nur einem Dropdown beantwortet. Bei mehr als einem kann es nicht funktionieren. – LoicTheAztec

+0

Dies ist die Antwort, die ich für dieses Problem habe: [Ändern Sie den Status des Lagerbestands in der WooCommerce-Auswahl für variable Produkte?] (Https://stackoverflow.com/questions/45190106/change-stock-status-names-in-woocommerce-variable -products-selector/45191198 # 45191198) und auch dieses: [Zeige-Status neben jedem Attributwert in variablen Produkten von WooCommerce] (https://stackoverflow.com/questions/45037405/show-stock-status-next-to -each-attribute-value-in-woocommerce-variable-products/45041602 # 45041602) ... Also das ist, was getan werden kann ... – LoicTheAztec

Antwort

0

Versuchen Sie dies in Ihrem Thema/functions.php

add_filter('woocommerce_variation_option_name', 'customizing_variations_terms_name', 10, 1); 
function customizing_variations_terms_name($term_name){ 

if(is_admin()) 
    return $term_name; 

global $product; 
$second_loop_stoped = false; 

// Get available product variations 
$product_variations = $product->get_available_variations(); 

// Iterating through each available product variation 
foreach($product_variations as $variation){ 

    $variation_id = $variation['variation_id']; 
    $variation_obj = new WC_Product_Variation($variation_id); 

    ## WOOCOMMERCE RETRO COMPATIBILITY ## 
    if (version_compare(WC_VERSION, '3.0', '<')) # BEFORE Version 3 (older) 
    { 
     $stock_status = $variation_obj->stock_status; 
     $stock_qty = intval($variation_obj->stock); 

     // The attributes WC slug key and slug value for this variation 
     $attributes_arr = $variation_obj->get_variation_attributes(); 
    } 
    else # For newest verions: 3.0+ (and Up) 
    { 
     $stock_status = $variation_obj->get_stock_status(); 
     $stock_qty = $variation_obj->get_stock_quantity(); 

     // The attributes taxonomy key and slug value for this variation 
     $attributes_arr = $variation_obj->get_attributes(); 
    } 

    if(count($attributes_arr) != 1) // Works only for 1 attribute set in the product 
     return $term_name; 

    // Get the terms for this attribute 
    foreach($attributes_arr as $attr_key => $term_slug){ 
     // Get the attribute taxonomy 
     $term_key = str_replace('attribute_', '', $attr_key); 

     // get the corresponding term object 
     $term_obj = get_term_by('slug', $term_slug, $term_key); 
     if($term_obj->name == $term_name){ // If the term name matches we stop the loops 
      $second_loop_stoped = true; 
      break; 
     } 
    } 
    if($second_loop_stoped) 
     break; 
} 
if($stock_qty>0) 
    return $term_name .= ' - ' . $stock_status . ' ('.$stock_qty.')'; 
else 
    return $term_name .= ' - ' . $stock_status; 

} 

Posted hier dank loictheaztec:

Show stock status next to each attribute value in WooCommerce variable products

Verwandte Themen