Quand vous reliez plusieurs systèmes (CRM, application web, CMS…) avec plusieurs acteurs, il n’est pas rare qu’ils aient besoin de vos produits pour faire un matching entre vos données et celui de leur SI (système d’information. Voici un script qui permettra de faire le nécessaire. Il liste tous les produits et variations
<?php
$args = array(
'status' => 'publish',
'limit' => 1000
);
$products = wc_get_products($args);
$nbproducts = 0;
foreach ($products as $product) {
$product_s = wc_get_product($product->get_id() );
if ($product_s->product_type == 'variable') {
$args = array(
'post_parent' => $product->get_id(),
'post_type' => 'product_variation',
'numberposts' => -1,
);
$variations = $product_s->get_available_variations();
foreach ($variations as $variation) {
echo $product->get_id().'|';
echo $variation['sku'].'|';
echo $product->get_sku().'|';
echo $variation['variation_id'].'|';
echo utf8_encode($product->get_name()).'|';
echo (!empty($variation['attributes']['attribute_pa_contenance']) ? $variation['attributes']['attribute_pa_contenance'] : '-');
echo ';';
$nbproducts++;
}
}else{
echo $product->get_id().'|';
echo $product->get_sku().'|';
echo '-|';
echo utf8_encode($product->get_name()).'|';
echo '-';
echo ';';
$nbproducts ++;
}
}
?>
Pratique vous pouvez le transformer en CSV avec en séparateur le | pipe et le ; pour chaque ligne 😉