Productconditie (Nieuw/Gebruikt) weergeven in WooCommerce
StoreLinkr kan de conditie van een product (Nieuw of Gebruikt) synchroniseren naar WooCommerce. Deze gegevens worden opgeslagen in een metafield en kunnen met een eenvoudig stukje code op je productpagina's worden weergegeven.
Vereiste
Zorg dat je databron (bijvoorbeeld je kassasysteem of PIM) productconditiegegevens levert en dat StoreLinkr is geconfigureerd om deze uit te lezen.
Implementatiecode
Voeg de volgende code toe aan het functions.php-bestand van je thema of aan een aangepaste plugin om de conditie op de productpagina weer te geven:
add_action('woocommerce_single_product_summary', function() {
global $product;
if (!$product instanceof WC_Product) {
return;
}
// Retrieve the 'used' meta field
$condition_code = $product->get_meta('used');
if ($condition_code !== '' && $condition_code !== null) {
// Mapping:
// 0 = New
// 1 = Used
$label = ($condition_code == 1) ? 'Used' : 'New';
echo '<p class="product-condition"><strong>Condition:</strong> ' . esc_html($label) . '</p>';
}
}, 15);
Hoe het werkt
StoreLinkr slaat de conditie op als een numerieke waarde in de metafield used:
0: Nieuw1: Gebruikt
Door get_meta('used') te gebruiken, krijg je toegang tot deze waarde en kun je deze omzetten naar een gebruiksvriendelijk label voor je klanten. Je kunt de CSS-klasse .product-condition verder aanpassen aan de stijl van je thema.
Conditie en omschrijving staat
Staat de exportinstelling Voeg productconditie toe als eigenschap aan, dan wordt de conditie die je in de PIM kiest (bijvoorbeeld "Zo goed als nieuw" of "Beschadigd") geëxporteerd als productattribuut. Naam en waarde zijn in de taal van de winkel van je StoreLinkr project, bij een Nederlandse site dus Conditie met Zo goed als nieuw. Een nieuw product krijgt de waarde "Nieuw". WooCommerce toont het bij de andere attributen en je kunt het gebruiken in de filters van je shop. Een conditie-attribuut dat je zelf aan het product hebt toegevoegd blijft staan.
De conditie die je in de PIM kiest, wordt ook opgeslagen als de product meta condition (StoreLinkr plugin 2.21.0 of nieuwer), of de instelling hierboven nu aan staat of niet. De waarde is in elke taal gelijk, zodat een thema erop kan bouwen:
| Waarde | In de PIM |
|---|---|
new | Nieuw |
as new | Zo goed als nieuw |
refurbished | Refurbished |
good | Goed |
used | Gebruikt |
reasonable | Redelijk |
moderate | Matig |
damaged | Beschadigd |
Een product zonder conditie in de PIM krijgt used of new, afhankelijk van of het als gebruikt is gemarkeerd.
De Omschrijving staat wordt opgeslagen als de product meta condition_description (StoreLinkr plugin 2.20.0 of nieuwer). Toon beide op de productpagina met:
add_action('woocommerce_single_product_summary', function() {
global $product;
if (!$product instanceof WC_Product) {
return;
}
$labels = [
'new' => 'Nieuw',
'as new' => 'Zo goed als nieuw',
'refurbished' => 'Refurbished',
'good' => 'Goed',
'used' => 'Gebruikt',
'reasonable' => 'Redelijk',
'moderate' => 'Matig',
'damaged' => 'Beschadigd',
];
$condition = $product->get_meta('condition');
$description = $product->get_meta('condition_description');
if (isset($labels[$condition])) {
echo '<p class="product-condition"><strong>Conditie:</strong> ' . esc_html($labels[$condition]) . '</p>';
}
if ($description !== '') {
echo '<p class="product-condition-description">' . nl2br(esc_html($description)) . '</p>';
}
}, 16);
De meta verdwijnt als je de omschrijving staat leegmaakt.