https://tdestudiodesign.com/wp-content/plugins/whatsapp/style.css

En la era de los cursos en línea, suscripciones, productos hechos a medida y personalización de productos, puede ocurrir que necesite limitar una venta específica de productos de WooCommerce. Por ejemplo, los usuarios solo pueden comprar un producto de prueba una vez en su vida.

En este breve tutorial, veremos cómo se hace esto. Claramente, el usuario debe iniciarse para que el código se active, por lo que esto se aplica a las tiendas que requieren inicio de sesión de pago antes de continuar con el pedido.

¡Disfrutar!

El usuario «Tomás Lucas D´Amario» está iniciado actualmente y en el pasado compró este mismo producto. Resultado: el botón Agregar al carrito no se muestra gracias al fragmento a continuación.

Php Snippet: WooCommerce Cliente no puede comprar un producto determinado más de una vez

Esta personalización de WooCommerce está diseñada para negar la compra de un producto si el usuario actualmente registrado ya lo ha comprado. Esto se aplica a todos los productosentonces, si desea limitarlo a una sola ID de producto, necesita agregar más lógica.

Aquí hay un desglose de lo que hace:

  • Gancho del filtro: se conecta al filtro WooCommerce_IS_Purchasable. Este filtro permite la manipulación de si un producto es comprable o no.
  • Función personalizada: la función tddesign_deny_purchase_if_already_purchaded se llama cuando se activa el filtro WooCommerce_IS_Purchasable.
  • Parámetros:
    • $ IS_Purchasable: este parámetro contiene el estado actual de si el producto es comprable o no.
    • $ Producto: este parámetro contiene el objeto del producto.
  • Lógica:
    • Primero verifica si el usuario se registra usando IS_USER_LOGGED_IN ().
    • Luego, verifica si el usuario iniciado ya ha comprado el producto usando wc_customer_bought_product ().
    • Si el usuario ha comprado el producto, establece $ is_purchasable a falso, negando efectivamente la compra.
  • Valor de retorno: Finalmente, devuelve el valor actualizado $ is_purchasable.

Esta personalización es útil si desea restringir a los usuarios que vuelvan a comprar un producto si ya lo han comprado.

/**  n*@snippet       Deny second purchase  n*@how-to        Get CustomizeWoo.com FREE  n*@author        Tomás Lucas D´Amario  n*@testedwith    WooCommerce 8  n*@community     https://tdestudiodesign.com/club */  add_filter( 'woocommerce_is_purchasable', 'tddesign_deny_purchase_if_already_purchased', 9999, 2 );   function tddesign_deny_purchase_if_already_purchased( $is_purchasable, $product ) {    if ( is_user_logged_in() && wc_customer_bought_product( '', get_current_user_id(), $product->get_id() ) ) {       $is_purchasable = false;    }    return $is_purchasable; } 

Notas:

  • Sería bueno agregar un aviso para decirle al usuario por qué añadir a la cesta no se muestra. El fragmento de arriba solo esconde el agregado al carrito
  • En caso de que el producto ya comprado esté en el Carroy los inicios de sesión de usuario desde allí, el elemento se eliminará del carrito y se mostrará un mensaje de error
  • Lo mismo se aplica al Verificar página, en caso de que el usuario inicie sesión desde allí

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *