Woocommerce – Limitare ad 1 solo prodotto per utente (Risolto)

Spread the love

Oggi avevo la necessità di limitare woocommerce all’acquisto di 1 solo prodotto per utente.
In questo snippet di codice, è possibile fare in modo che su woocommerce nel carrello si possa acquistare solo un prodotto per ogni utente.

add_filter( 'woocommerce_variation_is_purchasable', 'products_purchasable_once', 10, 2 );
add_filter( 'woocommerce_is_purchasable', 'products_purchasable_once', 10, 2 );
function products_purchasable_once( $purchasable, $product ) {
    
    $targeted_products = array(**INSERISCI GLI IDs DEI PRODOTTI DA LIMITARE**);

    // solo per utenti loggati e non per prodotti variabili
    if( ! is_user_logged_in() || $product->is_type('variable') )
        return $purchasable; // Exit

    $user = wp_get_current_user(); // The WP_User Object

    if ( in_array( $product->get_id(), $targeted_products ) &&
    wc_customer_bought_product( $user->user_email, $user->ID, $product->get_id() ) ) {
        $purchasable = false;
    }

    return $purchasable;
}
Facebook Comments

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *