Algunas tiendas adjuntan datos adicionales a los artículos del carrito, como un campo personalizado de un complemento de producto. Puedes restringir un cupón para que solo se aplique cuando un artículo del carrito contenga una clave y un valor de metadatos particular. Este artículo te muestra cómo configurar la condición, cómo encontrar los metadatos que necesitas y cómo dirigirte a metadatos anidados.
Antes de empezar
- La condición de carrito Metadatos personalizados de artículos del carrito requiere Advanced Coupons Premium.
- Necesitas conocer la clave de metadatos y el valor de metadatos almacenados en el artículo del carrito. Los pasos a continuación te muestran cómo encontrarlos.
Configurar la condición del carrito
- Abre el cupón y busca la sección Cart Conditions.
- Añade la condición Metadatos personalizados de artículos del carrito.
- Introduce la Clave de metadatos.
- Introduce el Valor de metadatos.
- Actualiza el cupón.

Advanced Coupons comprueba el carrito con la clave y el valor. Si coinciden, el cupón se puede usar. Si no coinciden, el cliente ve un mensaje de error.

En este ejemplo, la condición se dirige a la clave de metadatos data_hash con el valor mostrado. El valor se almacena en un producto de prueba, por lo que la condición se cumple siempre que ese producto esté en el carrito.


Encontrar la clave y el valor de metadatos
Si no sabes qué metadatos tiene un artículo del carrito, registra el contenido del carrito. Añade el fragmento a continuación al archivo functions.php de tu tema hijo, o al plugin WPCode.
// Log the cart contents so you can read the item meta.
function action_woocommerce_after_cart() {
error_log( print_r( WC()->cart->get_cart_contents(), true ) );
}
add_action( 'woocommerce_after_cart', 'action_woocommerce_after_cart' );
Luego, carga la página del carrito y lee el registro. El registro se escribe en wp-content/debug.log, pero solo cuando WP_DEBUG_LOG está habilitado en wp-config.php. Si esa constante no está habilitada, no se crea ningún archivo. Puedes abrir el archivo por FTP o a través del administrador de archivos de tu hosting.
Dirigirse a metadatos anidados
Para acceder a metadatos anidados dentro de otro valor, une los niveles con el carácter de barra vertical (|). El siguiente ejemplo tiene una variación con un valor anidado attribute_pa_color.

Para dirigirte a él, establece la Clave de metadatos a variation|attribute_pa_color. La condición del carrito se ve así en el cupón.

Solución de problemas
El cupón nunca se aplica. Comprueba la clave y el valor de metadatos con la salida del registro, incluida la capitalización y cualquier prefijo como attribute_.
No aparece ningún archivo de registro. Habilita WP_DEBUG_LOG en wp-config.php, luego recarga la página del carrito. Sin él, error_log() no escribe nada en wp-content.
Los metadatos anidados no coinciden. Comprueba que has unido los niveles con el carácter de barra vertical y que cada nombre de nivel coincide exactamente con el registro.
¿Necesitas ayuda?
Si tienes alguna pregunta o encuentras algún problema, estamos aquí para ayudarte.
- Usuarios Premium: Abrir un ticket de soporte
- Usuarios gratuitos: Visita nuestro foro comunitario
