2016-03-28 2 views
0

Ich habe einige E-Commerce-Website, wo die Rechnungsadresse des Kunden auf dem Back-End vordefiniert ist.Woocommerce Readonly Billing Felder

Ich brauche die „Rechnungsadresse“ Felder als ‚Nur-Lese‘, um die Kunden zu vermeiden, dass die Informationen dort platziert zu ersetzen ... aber ich weiß nicht, wie/wo es zu tun ...

Ist es möglich?

Antwort

3

Fügen Sie folgenden Code in die Datei "function.php" Ihres Themes ein.

add_action('woocommerce_checkout_fields','customization_readonly_billing_fields',10,1); 
function customization_readonly_billing_fields($checkout_fields){ 
    $current_user = wp_get_current_user();; 
    $user_id = $current_user->ID; 
    foreach ($checkout_fields['billing'] as $key => $field){ 
     if($key == 'billing_address_1' || $key == 'billing_address_2'){ 
      $key_value = get_user_meta($user_id, $key, true); 
      if(strlen($key_value)>0){ 
       $checkout_fields['billing'][$key]['custom_attributes'] = array('readonly'=>'readonly'); 
      } 
     } 
    } 
    return $checkout_fields; 
} 

Diese Funktion prüft, ob die Adressfelder Wert haben (d.h., wenn die Adresse angegeben ist), und wenn es Wert hat, macht das Feld/s nur lesbar. Else behält die Felder offen, um Daten für den Benutzer hinzuzufügen. Hoffe, das hilft.

0
$checkout_fields['billing'][$key]['custom_attributes'] = array('readonly'=>'readonly'); 

das Problem dadurch behoben