Sommige winkels koppelen extra gegevens aan winkelwagenitems, zoals een aangepast veld van een productadd-on. U kunt een kortingscode beperken, zodat deze alleen wordt toegepast wanneer een winkelwagenitem een bepaalde metakey en -waarde bevat. Dit artikel laat u zien hoe u de voorwaarde instelt, hoe u de benodigde meta vindt en hoe u geneste meta kunt targeten.
Voordat u begint
- De winkelwagenvoorwaarde Custom Cart Item Meta vereist Advanced Coupons Premium.
- U moet de metakey en metawaarde kennen die op het winkelwagenitem zijn opgeslagen. De onderstaande stappen laten u zien hoe u deze kunt vinden.
Stel de winkelwagenvoorwaarde in
- Open de kortingscode en zoek de sectie Cart Conditions.
- Voeg de voorwaarde Custom Cart Item Meta toe.
- Voer de Meta Key in.
- Voer de Meta Value in.
- Werk de kortingscode bij.

Advanced Coupons controleert de winkelwagen aan de hand van de sleutel en waarde. Als deze overeenkomen, kan de kortingscode worden gebruikt. Als ze niet overeenkomen, ziet de klant een foutmelding.

In dit voorbeeld richt de voorwaarde zich op de metakey data_hash met de getoonde waarde. De waarde is opgeslagen op een testproduct, dus de voorwaarde slaagt wanneer dat product in de winkelwagen zit.


Vind de metakey en -waarde
Als u niet weet welke meta een winkelwagenitem bevat, log dan de winkelwageninhoud. Voeg het onderstaande codefragment toe aan het functions.php-bestand van uw child theme, of aan de WPCode-plugin.
// 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' );
Laad vervolgens de winkelwagenpagina en lees het logboek. Het logboek wordt geschreven naar wp-content/debug.log, maar alleen wanneer WP_DEBUG_LOG is ingeschakeld in wp-config.php. Als die constante niet is ingeschakeld, wordt er geen bestand aangemaakt. U kunt het bestand openen via FTP of via de bestandsbeheerder van uw host.
Geneste meta targeten
Om meta te bereiken die genest is binnen een andere waarde, voegt u de niveaus samen met het pipe-teken (|). Het onderstaande voorbeeld heeft een variatie met een geneste attribute_pa_color-waarde.

Om deze te targeten, stelt u Meta Key in op variation|attribute_pa_color. De winkelwagenvoorwaarde ziet er dan als volgt uit op de kortingscode.

Probleemoplossing
De kortingscode wordt nooit toegepast. Controleer de metakey en -waarde aan de hand van de loguitvoer, inclusief hoofdletters en eventuele voorvoegsels zoals attribute_.
Er verschijnt geen logbestand. Schakel WP_DEBUG_LOG in wp-config.php in, laad vervolgens de winkelwagenpagina opnieuw. Zonder deze instelling schrijft error_log() niets naar wp-content.
Geneste meta komt niet overeen. Controleer of u de niveaus hebt samengevoegd met het pipe-teken en of elke niveau-naam exact overeenkomt met de log.
Hulp nodig?
Als u een vraag heeft of tegen problemen aanloopt, staan we klaar om u te helpen.
- Premium gebruikers: Open een ondersteuningsticket
- Gratis gebruikers: Bezoek ons communityforum
