Comment afficher l'état du produit (neuf / d'occasion) dans WooCommerce
StoreLinkr peut synchroniser l'état d'un produit (neuf ou d'occasion) vers WooCommerce. Cette donnée est stockée dans un métachamp et peut être affichée sur vos pages produit à l'aide d'un simple extrait de code.
Prérequis
Vérifiez que votre source de données (par exemple votre système de caisse ou votre PIM) fournit l'état des produits et que StoreLinkr est configuré pour le lire.
Code d'implémentation
Ajoutez l'extrait suivant au fichier functions.php de votre thème ou à un plugin personnalisé pour afficher l'état sur la page d'un produit :
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);
Fonctionnement
StoreLinkr enregistre l'état sous forme de valeur numérique dans le métachamp used :
0: neuf1: d'occasion
En utilisant get_meta('used'), vous pouvez accéder à cette valeur et la traduire en un libellé clair pour vos clients. Vous pouvez aussi personnaliser la classe CSS .product-condition pour l'adapter au design de votre thème.
Niveau d'état et description de l'état
Lorsque le paramètre d'export Ajouter l'état du produit comme filtre est activé, le niveau d'état que vous choisissez dans le PIM (par exemple « Comme neuf » ou « Endommagé ») est exporté comme attribut de produit. Son nom et sa valeur sont dans la langue de la boutique de votre projet StoreLinkr, par exemple Conditie avec Zo goed als nieuw pour un site néerlandais. Un nouveau produit reçoit la valeur « Neuf ». WooCommerce l'affiche avec les autres attributs, et vous pouvez l'utiliser dans les filtres de votre boutique. Un attribut d'état que vous avez ajouté vous-même au produit est conservé.
L'état que vous choisissez dans le PIM est aussi enregistré dans la méta du produit condition (plugin StoreLinkr 2.21.0 ou plus récent), que le paramètre ci-dessus soit activé ou non. La valeur est identique dans toutes les langues, un thème peut donc s'y fier :
| Valeur | Dans le PIM |
|---|---|
new | Neuf |
as new | Comme neuf |
refurbished | Reconditionné |
good | Bon |
used | D'occasion |
reasonable | Correct |
moderate | Moyen |
damaged | Endommagé |
Un produit sans état dans le PIM reçoit used ou new, selon qu'il est marqué comme d'occasion ou non.
La description de l'état est enregistrée dans la méta du produit condition_description (plugin StoreLinkr 2.20.0 ou plus récent). Affichez les deux sur la page produit avec :
add_action('woocommerce_single_product_summary', function() {
global $product;
if (!$product instanceof WC_Product) {
return;
}
$labels = [
'new' => 'New',
'as new' => 'As new',
'refurbished' => 'Refurbished',
'good' => 'Good',
'used' => 'Used',
'reasonable' => 'Reasonable',
'moderate' => 'Moderate',
'damaged' => 'Damaged',
];
$condition = $product->get_meta('condition');
$description = $product->get_meta('condition_description');
if (isset($labels[$condition])) {
echo '<p class="product-condition"><strong>Condition:</strong> ' . esc_html($labels[$condition]) . '</p>';
}
if ($description !== '') {
echo '<p class="product-condition-description">' . nl2br(esc_html($description)) . '</p>';
}
}, 16);
La méta est supprimée lorsque la description de l'état est effacée.