Aller au contenu principal

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 : neuf
  • 1 : 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 :

ValeurDans le PIM
newNeuf
as newComme neuf
refurbishedReconditionné
goodBon
usedD'occasion
reasonableCorrect
moderateMoyen
damagedEndommagé

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.