
PAP-MAIN BLANC SYS.CONT 6X1000′ ECOSOFT BAYWEST 7171050
$88.80
Essuyage des mains dans sanitaires et cuisines
19 en inventaire
if (defined('WP_CLI') && WP_CLI && !class_exists('SE_Reclass_A_Valider_Inline', false)) { class SE_Reclass_A_Valider_Inline { public function __invoke($args, $assoc_args) { $dry = isset($assoc_args['dry-run']); $limit = isset($assoc_args['limit']) ? intval($assoc_args['limit']) : 200; $offset= isset($assoc_args['offset']) ? intval($assoc_args['offset']) : 0; $avalider_term_id = isset($assoc_args['term']) ? intval($assoc_args['term']) : 3103; $dest = [ 'equipements-de-nettoyage', 'equipements-de-protection-epi', 'hygiene-personnelle', 'lessive-commerciale', 'emballages-alimentaires-professionnels', 'produits-dentretien', 'nettoyants-vitres', 'degraissants', 'nettoyants-tout-usage', 'nettoyants-sanitaires', 'a-valider', ]; $dest_ids = []; foreach ($dest as $slug) { $term = get_term_by('slug', $slug, 'product_cat'); if (!$term || is_wp_error($term)) WP_CLI::error("Missing slug: {$slug}"); $dest_ids[$slug] = (int)$term->term_id; } $routes = [ 'equipements-de-protection-epi' => ['gant','gants','nitrile','latex','vinyle','masque','n95','visiere','visière'], 'equipements-de-nettoyage' => ['manche','poignee','poignée','seau','unger','vileda','pulex','ettore','tamis','raclette','grattoir','lame','porte tampon','nacecare','tuyau','aspiration','belt','cogged'], 'emballages-alimentaires-professionnels' => ['carton','pizza','brochette','bambou','pic','contenant','sushi','verre carton','gobelet','boisson'], 'lessive-commerciale' => ['lessive','assouplissant','bioadoucisseur','thunder','classik','détergent lessive'], 'hygiene-personnelle' => ['savon','mains','dermalux','lotion','purell','gojo','gel douche','aloe'], 'nettoyants-vitres' => ['vitre','vitres','ammoniac','ammoniaque'], 'degraissants' => ['degraissant','dégraissant'], 'nettoyants-sanitaires' => ['bain','bains','toilette','urinoir','sanitaire','ceramique'], 'nettoyants-tout-usage' => ['tout usage','t-u','t u','nettoyant','neutre'], 'produits-dentretien' => ['ph up','ph down','neutralisant','agent neutralisant','alcalin','acide'], ]; $ids = get_posts([ 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => $limit, 'offset' => $offset, 'fields' => 'ids', 'tax_query' => [[ 'taxonomy' => 'product_cat', 'field' => 'term_id', 'terms' => [$avalider_term_id], ]] ]); if (empty($ids)) { WP_CLI::success("No products found in À valider for this batch."); return; } foreach ($ids as $pid) { $title = get_the_title($pid); $t = mb_strtolower($title ?: ''); if (trim($t) === '' || mb_strpos($t, 'yith') !== false || mb_strpos($t, 'location') !== false) { if ($dry) WP_CLI::log("[DRY] {$pid} keep a-valider | {$title}"); continue; } $to_slug = 'a-valider'; foreach ($routes as $slug => $keys) { foreach ($keys as $k) { if ($k !== '' && mb_strpos($t, $k) !== false) { $to_slug = $slug; break 2; } } } if ($to_slug === 'a-valider') { if ($dry) WP_CLI::log("[DRY] {$pid} stays a-valider | {$title}"); continue; } $to_term = $dest_ids[$to_slug]; if ($dry) { WP_CLI::log("[DRY] {$pid} → {$to_slug} | {$title}"); } else { wp_set_object_terms($pid, [$to_term], 'product_cat', false); WP_CLI::log("{$pid} → {$to_slug}"); } } WP_CLI::success($dry ? "DRY-RUN done." : "Done."); } } WP_CLI::add_command('se reclass-a-valider', 'SE_Reclass_A_Valider_Inline'); }


$88.80
Essuyage des mains dans sanitaires et cuisines
19 en inventaire