2016-11-28 2 views
1

Ich habe ein benutzerdefiniertes Feld im Benutzerprofil erstellt, jetzt muss ich den Wert dieses Feldes als Rabatt in den WooCommerce-Einkaufswagen eingeben.
Dies ist die Funktion eine benutzerdefinierte Gebühr in den Warenkorb legen:Aufruf eines benutzerdefinierten Benutzerfeldwerts in einer WooCommerce-Hookfunktion

add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees'); 
$descuentototal = get_the_author_meta('descuento', $user_id); 

function add_custom_fees(WC_Cart $cart){ 
    if($descuentototal < 1){ 
     return; 
    } 
    // Calculate the amount to reduce 
    $cart->add_fee('Discount: ', -$descuentototal); 
} 

Aber nicht gelingt, den Wert von ‚descuento‘ zu bekommen.

Wie könnte ich es tun?

Danke.

Antwort

1

Sie müssen Wordpress-Funktionen nutzen get_current_user_id() den aktuellen Benutzer-ID zu erhalten und get_user_meta() die Benutzer Metadaten zu erhalten.

Also der richtige Code für woocommerce_cart_calculate_fees Haken wird:

add_action('woocommerce_cart_calculate_fees', 'add_custom_fees'); 
function add_custom_fees(){ 

    if (is_admin() && ! defined('DOING_AJAX')) 
     return; 

    if (!is_user_logged_in()) 
     return; 

    $user_id = get_current_user_id(); 
    $descuentototal = get_user_meta($user_id, 'descuento', true); 

    if ($descuentototal < 1) { 
     return; 
    } else { 
     $descuentototal *= -1; 

     // Enable translating 'Discount: ' 
     $discount = __('Discount: ', 'woocommerce'); 

     // Calculate the amount to reduce (without taxes) 
     WC()->cart->add_fee($discount, $descuentototal, false); 
    } 
} 

-Code geht in beliebiger PHP-Datei Ihres aktiven Kind Thema (oder Thema) oder auch in beliebiger Plugin PHP-Dateien.

Referenz oder verwandte:

Verwandte Themen