Cómo excluir el producto WooCommerce de los cupones
Publicado: 2021-11-02¿Está buscando formas de usar sus códigos de descuento de manera más eficiente? Tenemos algo para ti. En esta guía, le mostraremos diferentes formas de excluir un producto de WooCommerce de los cupones para que no se les apliquen descuentos.
Ahora que se acercan el Black Friday y la Navidad, muchas tiendas online empiezan a ofrecer ofertas y promociones. Cuando configura sus cupones de descuento y los comparte en línea, desea asegurarse de que no generen caídas significativas en sus ganancias. Si sus ventas aumentan un 25% pero el beneficio por venta disminuye un 50%, es mejor que no ofrezca ningún descuento.
Encontrar el equilibrio adecuado entre más ventas y ganancias por venta no siempre es fácil. Una de las mejores maneras de hacerlo es mantener ciertos productos sin descuento. Puede usar ciertos artículos con descuento como ganchos y luego tratar de vender a sus clientes otros productos que no tienen descuentos.
En esta guía, le mostraremos diferentes formas de excluir los productos de WooCommerce de los cupones , para que los descuentos no se apliquen a ellos.
¿Por qué excluir productos de los cupones?
El uso de cupones de descuento es una estrategia de marketing común utilizada por muchas tiendas WooCommerce para aumentar sus ventas. Si se usan de manera inteligente, los descuentos pueden ser beneficiosos para los negocios en línea. Sin embargo, también pueden generar una caída en los ingresos si no se aplican correctamente y el aumento de las ventas no es al menos igual a la caída del precio.
Además, con catálogos más grandes, también existe la posibilidad de lagunas que sus clientes podrían aprovechar. Por ejemplo, es posible que no desee aplicar un descuento a un producto incluido que ya tiene un descuento aplicado. Del mismo modo, puede terminar perdiendo dinero si los clientes usan un descuento en productos que ya tienen márgenes reducidos.
Por eso es una buena opción excluir ciertos productos de WooCommerce de los cupones de descuento. De esta manera, puede crear tantos cupones y códigos de descuento como desee y asegurarse de que esos productos específicos no se vean afectados por ellos.
Echemos un vistazo a cómo puede hacerlo y qué tipo de herramientas puede usar para excluir productos de los descuentos.
Cómo excluir un producto de WooCommerce de los cupones
Hay dos formas principales de excluir los productos de WooCommerce de los cupones de descuento:
- Con las opciones predeterminadas de WooCommerce
- Programáticamente
Veamos cada opción con más detalle.
1) Excluir el producto WooCommerce de los cupones usando las opciones predeterminadas de WooCommerce
WooCommerce le brinda la opción de deshabilitar cupones específicos para ciertos productos y categorías. Para acceder a estas opciones, vaya a WooCommerce > Cupones en su panel de administración de WordPress.
Luego, abra cualquiera de los cupones que desee excluir haciendo clic en Editar debajo del cupón. Luego, desplácese hacia abajo y vaya a la pestaña Restricción de uso .
Aquí puede usar las opciones Excluir producto y Excluir categorías para excluir ciertos productos de este cupón específico. Simplemente escriba el nombre del producto en el campo Excluir producto o la categoría del producto en el campo Excluir categorías . Por ejemplo, si no desea aplicar descuentos al Producto 15 y Paquetes de productos, haría algo como esto.
Ahora, este cupón específico no se aplicará a esos productos . Sin embargo, tenga en cuenta que todos los demás cupones que se aplican a ese artículo funcionarán a menos que repita este proceso en el otro cupón.
Si tiene muchos cupones, este proceso puede llevar mucho tiempo porque tendría que ir uno por uno y agregar los productos que desea excluir. La buena noticia es que hay una forma más eficiente de hacerlo con un poco de código. Veamos cómo puede excluir los productos de WooCommerce de todos los cupones mediante programación.
2) Excluir el producto WooCommerce de los cupones mediante programación
También puede excluir un producto de WooCommerce de los cupones de descuento mediante programación. La ventaja de este método es que le brinda mucha flexibilidad para asegurarse de que los descuentos no se apliquen a ciertos artículos. Por ejemplo, puede deshabilitar ID de productos específicos para cupones o agregar una casilla de verificación a las opciones de Datos de productos de WooCommerce.
Veamos cómo puede habilitar algunas de estas opciones.
NOTA : Como editaremos algunos archivos principales, antes de comenzar, le recomendamos que cree una copia de seguridad de su sitio e instale un tema secundario si aún no tiene uno.
2.1) Excluir los productos de WooCommerce de los cupones usando la ID del producto
Una de las formas más fáciles de excluir los productos de WooCommerce de los cupones es simplemente agregando un fragmento de código que deshabilita los cupones para que no funcionen para una identificación de producto específica .
Para hacer esto, primero debe encontrar la identificación del producto. Para ello, abre tu Panel de administración de WordPress , ve a Productos y verás la lista de todos tus productos de WooCommerce. Pasa el cursor sobre el producto al que no deseas aplicar los descuentos y verás el ID del producto.
Escríbelo y déjalo a mano porque lo necesitarás para el siguiente paso.
Después de eso, abre el archivo de funciones de tu tema dirigiéndote a Apariencia > Editor de temas . Luego, use la barra lateral derecha de Archivos de temas y abra el archivo functions.php .
Agregue el siguiente fragmento de código al archivo, pero recuerde reemplazar PRODUCT_ID con el ID correspondiente del producto que desea excluir.
add_filter('woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4); function quadlayers_exclude_product_from_product_promotions( $válido, $producto, $cupón, $valores) { // REEMPLAZAR EL ID DEL PRODUCTO (EG 145) if ( ID_PRODUCTO == $producto->get_id() ) { $válido = falso; } devolver $válido; }
El código excluye de los descuentos los ID de producto que especificamos. Por ejemplo, en nuestro caso, el ID del producto es 145, por lo que el fragmento de código será:
add_filter('woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4); function quadlayers_exclude_product_from_product_promotions( $válido, $producto, $cupón, $valores) { // ID DEL PRODUCTO = 145 if ( 145 == $producto->get_id() ) { $válido = falso; } devolver $válido; }
¡Eso es! El producto que ha especificado se excluirá de todos sus cupones. Para obtener más información al respecto, consulte este sitio.
2.2) Excluir los productos de WooCommerce en oferta de los cupones de descuento
Otra opción interesante es excluir de los códigos de cupón los productos que ya tienen aplicado un descuento. Por ejemplo, si tiene productos que ya están en oferta, puede agregar un script para asegurarse de que no obtengan un descuento adicional. Esto es muy útil cuando tienes una promoción de ventas en curso en tu tienda y quieres asegurarte de que tus descuentos no se apliquen a ninguno de los productos que están en oferta.
El proceso para esto es similar al anterior. Simplemente vaya a Apariencia > Editor de temas en su panel de administración y abra el archivo functions.php en la barra lateral derecha de archivos de temas. Luego, pegue el siguiente script para excluir de los descuentos todos los productos que ya están en oferta.
add_filter('xa_pbu_skip_product_on_sale','ql_skip_product_on_sale_from_discount',1,2); función ql_skip_product_on_sale_from_discount($return_val,$pid) { $precio_de_venta = get_post_meta( $pid,'_precio_de_venta',true); if( !vacío($venta_precio) ) { devolver verdadero; // excluir este producto si es verdadero } devolver $return_val; }
Alternativamente, puede usar el siguiente código para excluir ciertos productos que ya están en oferta de los cupones. Simplemente reemplace la identificación del producto con su identificación.
add_filter('xa_pbu_skip_product','ql_skip_product_from_discount',1,2); función ql_skip_product_from_discount($return_val,$pid) { $pid_to_skip = array(ID DEL PRODUCTO); // ID de productos para excluir if(in_array($pid,$pid_to_skip)) { devolver verdadero; // excluir este producto si es verdadero } devolver $return_val; }
Si desea agregar varios productos, simplemente agregue tantos como desee y sepárelos con una coma. Puede encontrar más información al respecto aquí.
Agregar una opción para excluir un producto de WooCommerce de los cupones mediante programación
Si cree que esto es algo que puede hacer con frecuencia, hacer el proceso anterior cada vez puede no ser lo más cómodo. En ese caso, hay una opción más eficiente. Puede agregar una función personalizada que agrega una casilla de verificación al backend y le permite deshabilitar cupones individualmente para cada producto.
Simplemente puede agregar este fragmento a todos sus artículos y luego decidir qué productos de WooCommerce desea excluir de los cupones y cuándo. Esta es una opción interesante porque le permite hacer que esa opción sea dinámica seleccionando o deseleccionando esa casilla de verificación en lugar de tener que agregar y eliminar el script del archivo functions.php .
Para hacerlo, en su panel de administración, vaya a Apariencia > Editor de temas y abra el archivo functions.php en la barra lateral Archivos de temas .
Ahora continúa y pega este código en el editor:
// Crear un campo personalizado en la pestaña de configuración general del Producto add_action('woocommerce_product_options_general_product_data', 'ql_add_custom_field_general_product_fields'); función ql_add_custom_field_general_product_fields(){ publicación global $; echo '<div class="product_custom_field">'; // Campo de casilla de verificación de producto personalizado woocommerce_wp_checkbox(matriz( 'id' => '_disabled_for_coupons', 'etiqueta' => __('Deshabilitado para cupones', 'woocommerce'), 'descripción' => __('Deshabilitar este producto de los descuentos de cupón', 'woocommerce'), 'desc_tip' => 'verdadero', ) ); eco '</div>';; } // Guarde el campo personalizado y actualice todas las identificaciones de productos excluidos en la configuración de WP add_action('woocommerce_process_product_meta', 'ql_save_custom_field_general_product_fields', 10, 1); función ql_save_custom_field_general_product_fields ($ post_id) { $current_disabled = isset( $_POST['_disabled_for_coupons'] ) ? 'sí No'; $productos_deshabilitados = get_option('_productos_deshabilitados_para_cupones'); si ( vacío ($ productos deshabilitados ) ) { si ($ actual_deshabilitado == 'sí') $productos_deshabilitados = matriz ($post_id); } demás { si ($ actual_deshabilitado == 'sí') { $productos_deshabilitados[] = $post_id; $productos_deshabilitados = array_unique ($productos_deshabilitados); } demás { if ( ($key = array_search ($post_id, $disabled_products)) !== false) unset ($productos_deshabilitados[$clave]); } } update_post_meta ($ post_id, '_disabled_for_coupons', $ current_disabled); update_option( '_products_disabled_for_coupons', $disabled_products ); } // Hacer que los cupones no sean válidos a nivel de producto add_filter('woocommerce_coupon_is_valid_for_product', 'set_coupon_validity_for_excluded_products', 12, 4); función set_coupon_validity_for_excluded_products($válido, $producto, $cupón, $valores){ if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $valid; $productos_deshabilitados = get_option('_productos_deshabilitados_para_cupones'); if( in_array( $producto->get_id(), $productos_deshabilitados) ) $válido = falso; devolver $válido; } // Establecer el monto del descuento del producto en cero add_filter('woocommerce_coupon_get_discount_amount', 'zero_discount_for_excluded_products', 12, 5); function zero_discount_for_excluded_products($discount, $discounting_amount, $cart_item, $single, $coupon ){ if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $descuento; $productos_deshabilitados = get_option('_productos_deshabilitados_para_cupones'); if( in_array( $cart_item['product_id'], $disabled_products ) ) $descuento = 0; devolver $descuento; }
Después de eso, actualice el archivo. Ahora veamos cómo usar esa casilla de verificación personalizada que acaba de agregar.
Uso de la función y la opción Deshabilitar cupones
Vaya a la sección Productos y abra cualquier producto que desee excluir de los cupones. En la pestaña General de los datos del producto , ahora debería ver una nueva opción llamada Deshabilitado para cupones.
Habilitar esta opción excluirá este producto de WooCommerce de los cupones de descuento. Si luego la desmarca, los descuentos se aplicarán nuevamente a este artículo. Recuerde guardar los cambios y verificar el front-end para asegurarse de que todo funcione como se esperaba.
Conclusión
Con todo, excluir ciertos artículos de los descuentos es una buena alternativa para maximizar los ingresos incluso cuando ofrece ofertas. Es posible que desee aplicar descuentos a ciertos productos pero no a otros, ya sea porque sus márgenes ya son bastante estrechos o porque ya tienen un descuento aplicado, por ejemplo.
En esta guía, hemos visto diferentes formas de omitir y excluir un producto de WooCommerce de los cupones:
- Usando las opciones predeterminadas de WooCommerce
- Exclusión programática de productos individuales, todos los productos o solo artículos en oferta utilizando los ID de producto
- Agregar un script personalizado para incluir una opción en el backend para deshabilitar cupones para productos específicos
Si tiene alguna pregunta con respecto a cualquiera de estos pasos, infórmenos en la sección de comentarios a continuación y haremos todo lo posible para ayudarlo.
Finalmente, si está buscando formas adicionales de configurar descuentos y las mejores formas de usarlos, le recomendamos que consulte las siguientes guías:
- Cómo aplicar cupones de WooCommerce automáticamente
- Cómo crear y configurar cupones de WooCommerce
- Crear y aplicar cupones de WooCommerce: la guía completa