Cómo crear códigos de cupón únicos en WooCommerce mediante programación
Publicado: 2020-07-06En nuestra publicación anterior, discutimos cómo se puede aplicar el código de cupón automáticamente al carrito de WooCommerce. Allí usamos un código de cupón genérico que se crea en el menú WooCommerce -> Cupones para todos los pedidos realizados por los diferentes clientes.
Pero a veces, como propietario de una tienda, desea crear un código de cupón único para cada cliente en su sitio web para ciertas situaciones. Tomemos dos ejemplos en los que es posible que desee crear códigos de cupón únicos.
Ejemplo 1:
Como propietario de una tienda en línea, lo peor que puede enfrentar con el ciclo de compra de un cliente es el abandono del carrito de compras. Aprox. Los usuarios abandonan del 68 al 70 % de los carritos en un sitio web y puede haber múltiples razones para ello. Una de las razones más comunes serían los precios más altos de los productos o los cargos adicionales, como los gastos de envío, que generalmente se muestran en el momento del pago y no antes.
Entonces aquí, para minimizar el abandono del carrito y convertir a la mayor cantidad de usuarios en clientes, simplemente puede atraerlos con algunos cupones de descuento para su compra. De esta forma puedes convertir tus carritos abandonados en carritos recuperados.
En tales casos, es mejor proporcionar un código de cupón único con un límite de uso único para cada carrito abandonado para evitar múltiples usos del código.
Ejemplo 2:
Otro ejemplo de creación de códigos de cupón únicos sería para los clientes que compraron una vez en su tienda, pero para atraerlos a comprar más, preferirá enviarles algunos cupones de descuento para su próxima compra. Entonces, aquí, si va a crear un código de cupón genérico para todos los clientes, pueden pasar los cupones a otras personas que conocen, que pueden usar para sus nuevas compras.
Entonces, aquí se puede hacer un mal uso de un código de cupón que se crea para clientes que regresan. Para evitar esto, es mejor crear un código de cupón único para cada cliente con un límite de uso establecido en 1.
No es factible crear manualmente códigos de cupón únicos para cada cliente desde el menú WooCommerce -> Cupones. Entonces, la otra opción sería agregar un fragmento de código para crear múltiples cupones a la vez para diferentes usuarios y discutiremos cómo lograrlo en nuestra publicación.
2 formas de crear códigos de cupón únicos en WooCommerce
El primer paso para crear un código de cupón único sería crear una cadena aleatoria para cada cupón. Eso se crearía usando el siguiente código.
$caracteres = "ABCDEFGHJKMNPQRSTUVWXYZ23456789"; $char_length = "8"; $cadena_aleatoria = substr( str_shuffle( $caracteres), 0, $longitud_caracteres);
Aquí, la función substr() devuelve la parte de la cadena especificada por los parámetros de inicio y longitud y la función str_shuffle() mezcla aleatoriamente la cadena pasada.
Después de generar la cadena única, el siguiente paso sería crear el código de cupón usando un fragmento de código. Discutiremos 2 formas en las que puede crear códigos de cupón mediante programación en WooCommerce .
1. Usando la función wp_insert_post()
La primera forma de agregar el código de cupón mediante programación es usando la función wp_insert_post() que le permite agregar o actualizar una publicación de WordPress. Entonces, en nuestro caso, estamos agregando una publicación con el tipo de publicación shop_coupon usando esta función. Para agregar la meta de los cupones creados, se usa la función update_post_meta(). Debe agregar el siguiente código al archivo functions.php del tema secundario o usar cualquier complemento de fragmentos de código.
$código_cupón = 'CÓDIGOÚNICO'; // Código creado usando el fragmento de cadena aleatorio. $cantidad = '10'; // Monto $tipo_descuento = 'porcentaje'; // Tipo: carro_fijo, porcentaje, producto_fijo, producto_porcentaje $cupón = matriz( 'post_title' => $código_cupón, 'post_contenido' => '', 'post_status' => 'publicar', 'post_autor' => 1, 'post_type' => 'tienda_cupón' ); $nuevo_cupón_id = wp_insert_post ($cupón); // Añadir metadatos update_post_meta ($ new_coupon_id, 'discount_type', $discount_type); update_post_meta ($ new_coupon_id, 'cupón_cantidad', $ cantidad); update_post_meta ($ new_coupon_id, 'individual_use', 'no'); update_post_meta ($ new_coupon_id, 'product_ids', '' ); update_post_meta ($ new_coupon_id, 'exclude_product_ids', '' ); update_post_meta ($ new_coupon_id, 'usage_limit', '' ); update_post_meta ($ new_coupon_id, 'expiry_date', '' ); update_post_meta ($ new_coupon_id, 'apply_before_tax', 'yes'); update_post_meta ($ new_coupon_id, 'free_shipping', 'no');
2. Uso de la API de descanso de WooCommerce
Otra forma de agregar un código de cupón mediante programación es mediante el uso de la API Rest de WooCommerce proporcionada por el propio complemento. WooCommerce tiene una guía completa provista para la API Rest que incluye autenticación, obtención de datos, cupones, pedidos, etc., pero como referencia, a continuación hay un pequeño fragmento que puede usar para la creación de códigos de cupones.

require_once __DIR__ . '/proveedor/autoload.php'; use Automattic\WooCommerce\Client; use Automattic\WooCommerce\HttpClient\HttpClientException; $woocommerce = nuevo cliente( 'https://ejemplo.com', 'clave_consumidor', 'consumidor_secreto', [ 'wp_api' => verdadero, 'versión' => 'wc/v3' ] ); $datos = [ 'código' => '10 de descuento', 'tipo_descuento' => 'porcentaje', 'cantidad' => '10', 'uso_individual' => verdadero, 'exclude_sale_items' => verdadero, 'cantidad_mínima' => '100.00' ]; $woocommerce->post('cupones', $datos);
Este es un fragmento de código básico para crear un código de cupón con un 10 % de descuento en un pedido cuyo total supere los $100. El código de cupón es '10off' y solo puede ser utilizado por un cliente. Estas son solo las propiedades básicas requeridas para la creación del código de cupón, pero si desea agregar algunas propiedades adicionales, aquí está la lista.
id – ( int ) Identificador único para el objeto .
código – (cadena)(Obligatorio) Código de cupón.
cantidad – (cadena) La cantidad de descuento. Siempre debe ser numérico, incluso si se establece un porcentaje.
date_created – (fecha-hora) La fecha en que se creó el cupón, en la zona horaria del sitio.
date_created_gmt – (fecha-hora) La fecha en que se creó el cupón, como GMT.
date_modified – (fecha-hora) La fecha en que se modificó por última vez el cupón, en la zona horaria del sitio.
date_modified_gmt – (fecha-hora) La fecha en que se modificó el cupón por última vez, como GMT.
discount_type – (cadena) Determina el tipo de descuento que se aplicará. Opciones: porcentaje, carro_fijo y producto_fijo. El valor predeterminado es fixed_cart .
descripción – (cadena) Descripción del cupón.
date_expires – (cadena) La fecha de vencimiento del cupón, en la zona horaria del sitio.
date_expires_gmt – (cadena) La fecha de vencimiento del cupón, como GMT.
use_count – (int) Número de veces que ya se ha usado el cupón.
individual_use – (bool) Si es verdadero, el cupón solo se puede usar individualmente. Otros cupones aplicados se eliminarán del carrito. El valor predeterminado es falso .
product_ids – (matriz) Lista de ID de productos en los que se puede usar el cupón.
ids_productos_excluidos : (matriz) Lista de ID de productos en los que no se puede usar el cupón.
use_limit – (int) Cuántas veces se puede usar el cupón en total.
use_limit_per_user – (int) Cuántas veces se puede usar el cupón por cliente.
limit_usage_to_x_items – (int) Número máximo de artículos en el carrito al que se puede aplicar el cupón.
free_shipping – (bool) Si es verdadero y si el método de envío gratuito requiere un cupón, este cupón habilitará el envío gratuito. El valor predeterminado es falso .
product_categories – (matriz) Lista de ID de categoría a las que se aplica el cupón.
categorias_de_producto_excluidas : (matriz) Lista de ID de categoría a las que no se aplica el cupón.
include_sale_items – (bool) Si es verdadero, este cupón no se aplicará a artículos que tengan precios de oferta. El valor predeterminado es falso .
cantidad_mínima – (cadena) Cantidad mínima de pedido que debe estar en el carrito antes de que se aplique el cupón.
Maximum_amount – (cadena) Cantidad máxima de pedido permitida al usar el cupón.
email_restrictions – (matriz) Lista de direcciones de correo electrónico que pueden usar este cupón.
used_by : (matriz) Lista de ID de usuario (o direcciones de correo electrónico de invitados) que han utilizado el cupón.
meta_data – (matriz) Metadatos.
Conclusión
Los fragmentos de código mencionados anteriormente son solo un ejemplo de cómo crear el código de cupón. Para usarlos en su sitio web, debe adjuntarlos a cualquier gancho o filtro que se requiera. Por ejemplo, se puede usar en cualquier enlace del carrito mientras realiza un seguimiento del abandono del carrito o se puede usar en el trabajo Cron que se ejecutará todas las semanas para enviar actualizaciones por correo electrónico a sus clientes.
Aproveche los códigos de cupón únicos y haga que algunos clientes felices regresen a su sitio web.