// ======================================== /** * Corrige les stocks qui ont été mis à zéro par erreur * suite au problème du fichier UPDATEDB.TXT vide */ function correct_stock_error_temp() { // Liste des produits affectés avec leurs stocks originaux $products_to_fix = array( 14451 => 1, // La Tròba 38507 => 1, // Lo Brèc 13616 => 1, // Cants e musicas 13752 => 2, // Conserver, restaurer 13758 => 7, // Contes et dires 7667 => 139, // Cronicas d'aura 13444 => 5, // Auseus 14267 => 4, // L'espauridor 14864 => 5, // Lo margalhon 13327 => 3, // 2 bals en poche 13579 => 1, // Brejaude et clafoutis 16320 => 1, // Lemouzi N°180 13997 => 2, // Émotions révoltes 7715 => 17, // Tres contes per Nadau 14972 => 4, // Mas si chantavas 15443 => 2, // Saumes pagans 15394 => 2, // Réfrac Terre d'Oc 16319 => 3, // Lemouzi N°179 38615 => 1, // Mirage 13916 => 8, // Dictionnaire limousin 14971 => 3, // Mas vielhas 15035 => 1, // Nouvelles paysannes 13713 => 1, // Charmeurs d'oiseaux 14277 => 1, // L'exil des origines 14164 => 3, // Iniciacion occitan 14307 => 2, // L'orchestre enfants 52199 => 1, // Les murmures du mal 13989 => 5, // Éléments bestiaire 14005 => 2, // En francés 14486 => 1, // Las islas 15222 => 3, // Portraits troubadours 14548 => 1, // Métier émailleur 28399 => 3, // Nouvelle grammaire 44445 => 5, // Sites archéologiques 7674 => 109, // Eschantits 13422 => 2, // Ataüt Arnaut Daniel 15051 => 2, // Òc-ben première 14807 => 2, // Lire écrire occitan 14815 => 3, // Lo chabrit 14966 => 3, // Maria que se carra 14192 => 2, // Jean Boudou 15109 => 1, // Paraulas cançonièrs 15172 => 4, // Petit bal errants 13320 => 2, // 12 recèptas 7679 => 4, // Jan Picatau 13440 => 1, // Aubiat 38614 => 1, // Obéir 38555 => 1, // À chaque jour 7678 => 204, // Glossari lemosin 15392 => 1, // Quincarelet 13887 => 3, // Trois passages 13885 => 2, // Andes Limousin 15816 => 1, // Vingt lettres 14998 => 5, // Mon dictionnaire 15036 => 2, // Nouveaux contes 44613 => 1, // Histoire mère 13693 => 1, // Champeiradas 13908 => 6, // Diccionarelet 16317 => 1, // Lemouzi N°174 14417 => 2, // Poésie hispano-arabe 15830 => 1, // Vocabulaire occitan 56368 => 1, // Noms gauloise 2 15822 => 1, // Viralenga 13523 => 1, // Baladas danças 14955 => 4, // Marcelle Delpastre 7665 => 3, // Conterra 13429 => 5, // Atlas sonore 15054 => 2, // Òc-ben deuxième 44572 => 1, // Ribambelles 14520 => 1, // Comte Poitiers 15056 => 1, // Òc-ben deuxième CD 15055 => 2, // Òc-ben deuxième cahier 13421 => 2, // Astérix escòla 13396 => 1, // Antologia escritura 15678 => 1, // Teatre occitan 13388 => 1, // Anthologie drômois 2 43963 => 2, // Livre arbres 13940 => 2, // Dictionnaire base provençal 13988 => 3, // Éléments phonétique 43537 => 2, // Babali 14979 => 1, // Medelha 54400 => 12, // Recettes Ussel 15173 => 4, // Théâtre désamour 13572 => 2, // Bouligou farcidure 13884 => 1, // Mots phrase occitan 13553 => 5, // Biòlas aiga 15397 => 3, // Rêveries Laguenne 15058 => 2, // Occitanie histoire 37021 => 1, // L'heure partir 13914 => 1, // Dictionnaire Chirac 15478 => 7, // Sorne trasluç 14927 => 2, // Mémoires 43671 => 1, // Figuras poèta 13772 => 2, // Contes licencieux 13743 => 7, // Comprendre Limousin 44864 => 2, // Cançonièr Occitan 1 15052 => 4, // Òc-ben première cahier 14199 => 2, // Jos signe Sent Francés 7695 => 143, // Lo pitit bateu 13933 => 2, // Dictionnaire provençal 28957 => 3, // Steinlen 7697 => 4, // Loís Lemosin 62170 => 1, // D'aucèls òmes 45004 => 5, // Je fais jouets 37201 => 1, // Pichot Tresor 14169 => 3, // Introduction Ventadorn 15733 => 1, // Tres palometas 13541 => 1, // Bernard Ventadour 7693 => 224, // Lo diable porta 16331 => 4, // Les disparates 15711 => 2, // Tot en òc 44449 => 6, // Noms lieux Limousin 43808 => 1, // L'òra partir 52208 => 1, // Véniels 13387 => 1, // Anthologie drômois 1 14245 => 4, // Araignée rose 14508 => 6, // Chasseur ombres 16374 => 4, // Souterrains Corrèze 16392 => 1, // Glòria mòrt 15438 => 2, // Saint-Pierre Uzerche 51654 => 2, // Saints anticléricalisme 13361 => 3, // Ai vist lop 16386 => 2, // Gaston Vuillier 16363 => 4, // Châtaigniers Limousin 53775 => 1, // Lei miraus infidèus 14269 => 1, // L'estraç 13902 => 1, // Diccionari occitan 4 14506 => 1, // Le Bal 13549 => 2, // Bestias 13428 => 5, // Atlas sonore Creuse 13704 => 3, // Chansons Ventadorn 14206 => 4, // Jouets rustiques 14862 => 9, // Lo mite châtaignier 15047 => 2, // Obra poetica 14180 => 1, // Jan Melhau 15116 => 3, // Parlar occitan Auvergne 51327 => 3, // Ronds carrés 45640 => 1, // Brasa fuòc 14585 => 3, // Testament eau douce 14194 => 2, // Jeux cocagne 13438 => 3, // Au rier-lutz 14544 => 2, // Monument Delpastre 16431 => 1, // Histoire église Argentat 45928 => 2, // Lo riu Adriana 13344 => 1, // 7305 jorns 16318 => 1, // Lemouzi N°158 tables 14753 => 3, // Petits recueils 13850 => 5, // D'una lenga l'autra 14524 => 1, // Dit Oiseau gris 13336 => 2, // 3968 CR13 13430 => 4, // Atlas sonore Thaurion 58018 => 1, // Loges francs-maçons 15038 => 1, // Novèlas estranh 14956 => 2, // Marcelle Delpastre dossier 14380 => 1, // Joute poétique 15208 => 3, // Poésie modale 1 15206 => 4, // Poésie modale 3 15207 => 4, // Poésie modale 2 13901 => 1, // Diccionari occitan 5 14896 => 4, // Los uelhs sus terra 13342 => 2, // 70 clés Gascogne 14890 => 5, // Lo viatge aquitan 44172 => 2, // Sincérité Gégène 15439 => 2, // Saint-Yrieix arédien 14806 => 1, // Liquors confiments 14913 => 1, // Louis-Joseph Gay-Lussac 16398 => 4, // Gramatica lengadocians 14725 => 4, // Chants Giraut Bornelh 43677 => 1, // Visages pays 15074 => 2, // Œuvres Mouzat 2 15433 => 1, // Maçons pays 10135 => 4, // Ací qu'èm Reis 14897 => 3, // Los chants Bada-Luna 15073 => 2, // Œuvres Mouzat 1 15201 => 4, // Poèmes dramatiques 1 15200 => 4, // Poèmes dramatiques 2 14382 => 1, // Leçon Nérac 15480 => 7, // Souffler jouer 13904 => 1, // Diccionari occitan 3 14551 => 1, // Monde troubadours 13828 => 0, // Cuisine Limousin 14186 => 3, // Je souviens Limoges 15722 => 1, // Trésors Occitanie Mistral 15826 => 3, // Vocabulari occitan 15819 => 1, // Violons limousins 13999 => 3, // En attendant orage 53810 => 1, // La guèrra maudita 15107 => 3, // Paraulas terra 5 44487 => 1, // Grandes heures moulins 15105 => 4, // Paraulas terra 3 15106 => 3, // Paraulas terra 4 14542 => 1, // Limousin Marche anthologie 60392 => 1, // Clara Carusò 13684 => 5, // Souterrains Haute-Vienne 15855 => 2, // Meymac église 14968 => 3, // Marion aimava 15104 => 6, // Paraulas terra 2 15103 => 4, // Paraulas terra 1 45697 => 2, // Archéologie paysage 43425 => 2, // Petite ville 15720 => 1, // Trésors Occitanie Manciet 15780 => 0, // Una setmana bòria 14511 => 1, // Coq Oc 10134 => 2, // Èr navèth 15776 => 0, // Un temps viure 15395 => 0, // Règne animal 14051 => 1, // Fables contes gnorles 43814 => 1, // Miratges 14898 => 0, // Los jorns telhòu 13750 => 3, // Conilhs pelons 14167 => 1, // Insularas 13701 => 9, // Chants Limousin 14477 => 1, // Langages sifflés 13441 => 1, // Aubusson 13886 => 5, // Étoiles plantes 13436 => 5, // Pays feuillardiers 13903 => 1, // Diccionari occitan 2 15041 => 3, // Òbras completas 13831 => 2, // Cuisine Périgord 15779 => 1, // Una isla Peirigòrd 14558 => 2, // Pays Ségur Révolution 14439 => 2, // Santa Estela 14492 => 1, // Las Canas Midàs 43029 => 2, // Contes Gasconha Darrèra 43437 => 2, // Petite chronique boue 59741 => 1, // Nadau André Ricros 15015 => 2, // Mystérieux Limoges 7686 => 1, // Ponticaude École 14750 => 2, // Noms lieux Uzerche 14304 => 3, // Origine bêtes 13759 => 12, // Contes Haute-Marche 13918 => 5, // Dictionnaire périgourdin 14500 => 1, // Lavertujon chançon 14241 => 2, // Anneau magique 43466 => 1, // Usines 43567 => 2, // Grottes 53396 => 1, // Òmes ecir 14078 => 2, // Flors 13546 => 1, // Bertomieu 15169 => 2, // Permenada cronicas 13763 => 1, // Contes Joan Fàia 43413 => 2, // Je suis milliers 44184 => 1, // Nouvel âge littéraire 43460 => 1, // Grand guignol 43431 => 2, // Thérésa récits 43573 => 2, // Littérature prolétarienne 43454 => 1, // Bure Borinage 44178 => 2, // Mineur parle 13757 => 7, // Contes Monédières 13778 => 3, // Contes Gasconha Segonda 44711 => 1, // Visages pays 15770 => 6, // Paisan lemosin 37011 => 1, // Poésies patoises 13585 => 5, // Burlesque obscénité 14869 => 2, // Prumier libre Marçau 14847 => 1, // Lo Leberaubre 11 14246 => 1, // Arquibau autres 13766 => 4, // Contes ville campagne 7694 => 313, // Prumier sendaron 15042 => 1, // Obra poetica occitan 16372 => 3, // Ponticauds Limoges 44533 => 3, // Introduction Périgord Noir 13879 => 3, // De temps temps 14083 => 1, // Flor brossa 14437 => 3, // Segonda Luna 14381 => 3, // Littérature oc 14488 => 0, // Zinzoinas serp 14909 => 2, // Lou tresor Felibrige 14925 => 3, // Médecine Religion 57971 => 2, // Muratel 13552 => 1, // Bestiari aubres 10061 => 1, // Icòna iscla 10045 => 1, // Tè tu tè ieu 53781 => 1, // Vida Joan Larsinhac 14793 => 3, // Limousin Terre Oc 7711 => 96, // Pitit Jan diable 7698 => 3, // Los dos einocents 14784 => 1, // Lexique limousin 7666 => 35, // Contes Beurona 7712 => 292, // Pitit chat perdu 7699 => 224, // Los bons amics 7700 => 240, // Los tres tessons 7683 => 150, // Chabra chabrits 42861 => 1, // Qualques nòvas 52342 => 3, // Pluja camin terra 13929 => 3, // Dictionnaire normatif 14201 => 2, // Joseph Roux Parole 14416 => 1, // Pastourelle poésie 58376 => 2, // Lo devinaire 15130 => 2, // Grenier Félibrige 14721 => 1, // Troubadours 57974 => 2, // Rassa rasseje 57956 => 2, // Espofinadas 15253 => 3, // Proverbis bas-lemosins 15075 => 3 // Œuvres Chèze ); $fixed_count = 0; $error_count = 0; foreach ($products_to_fix as $product_id => $correct_stock) { // Vérifier que le produit existe $product = get_post($product_id); if (!$product) { $error_count++; continue; } // Mettre à jour le stock $result = update_post_meta($product_id, '_stock', $correct_stock); if ($result !== false) { // Mettre à jour le stock status $stock_status = $correct_stock > 0 ? 'instock' : 'outofstock'; update_post_meta($product_id, '_stock_status', $stock_status); // Déclencher l'action WooCommerce // ======================================== // SCRIPT DE CORRECTION DES STOCKS - TEMPORAIRE (VERSION COMPLÈTE) // ======================================== /** * Corrige les stocks qui ont été mis à zéro par erreur * suite au problème du fichier UPDATEDB.TXT vide */ function correct_stock_error_temp() { // Liste complète des produits affectés avec leurs stocks originaux $products_to_fix = array( 14451 => 1, // La Tròba : Anthologie chantée des troubadours XIe-XIIIe siècles 1 (4 CD) 38507 => 1, // Lo Brèc – La Blanche Nef : Poèma 13616 => 1, // Cants e musicas del país de Lodeva 13752 => 2, // Conserver, restaurer & valoriser le bâti creusois ancien 13758 => 7, // Contes et dires populaires du Limousin / Lemouzi N°180 bis 7667 => 139, // Cronicas d'aura – Chroniques contemporaines 13444 => 5, // Auseus 14267 => 4, // L'espauridor (libre + CD) 14864 => 5, // Lo margalhon e la bossòla (libre + CD) 13327 => 3, // 2 bals en poche pour danser du soir au matin ! (2 CD) 13579 => 1, // Brejaude et clafoutis – Brejauda e clafotis 16320 => 1, // Lemouzi N°180 13997 => 2, // Émotions, révoltes et guerres populaires en Aquitaine (XVIe-XVIIIe siècle) 7715 => 17, // Tres contes per Nadau – Trois contes pour Noël (libre + CD) 14972 => 4, // Mas si chantavas la vita… 15443 => 2, // Saumes pagans – Psaumes païens 15394 => 2, // Réfrac… Terre d'Oc 16319 => 3, // Lemouzi N°179 38615 => 1, // Mirage 13916 => 8, // Dictionnaire français-limousin / Lemouzi N°178 ter 14971 => 3, // Mas vielhas – Mes vieilles 15035 => 1, // Nouvelles paysannes & souvenirs d'enfance : De Saint-Léonard-de-Noblat à Montparnasse 13713 => 1, // Charmeurs d'oiseaux et siffleurs de danses 14277 => 1, // L'exil des origines : Renaissance littéraire et renaissance linguistique en pays de langue d'oc aux XIXe et XXe siècles 14164 => 3, // Iniciacion a l'occitan ancian : Dètz e nòu tèxtes de l'Edat Mejana comentats 14307 => 2, // L'orchestre d'harmonie des Enfants de Tulle / Lemouzi N°178 bis 52199 => 1, // Les murmures du mal (Jardins perdus 2) 13989 => 5, // Éléments d'un bestiaire 14005 => 2, // En francés dins la revirada : Libre de legir per los mainatges mai los nabacuols 14486 => 1, // Las islas jos lo sang 15222 => 3, // Portraits de troubadours : Initiales des chansonniers provençaux I & K 14548 => 1, // Le métier d'émailleur à Limoges XVIe-XVIIe siècle 28399 => 3, // Nouvelle grammaire abrégée du gascon 44445 => 5, // Sites archéologiques et végétation : l'exemple du Limousin 7674 => 109, // Eschantits 13422 => 2, // Ataüt d'Arnaut Daniel – Tombeau d'Arnaud Daniel : Sextinas occitanas – Sextines occitanes 15051 => 2, // Òc-ben ! première année d'occitan : Livre de l'élève 14807 => 2, // Lire et écrire l'occitan 14815 => 3, // Lo chabrit daus champanhòus (libre + CD) 14966 => 3, // Maria que se carra (libre + CD) 14192 => 2, // Jean Boudou visionnaire et humaniste : Del cap de la rega a la talvera 15109 => 1, // Paraulas de cançonièrs : Chansonniers de l'Albigeois, du Quercy et du Rouergue… 15172 => 4, // Petit bal des errants : Luna negra 13320 => 2, // 12 recèptas de J. A. Lespatlut 7679 => 4, // Jan Picatau de Sent-Barrancon 13440 => 1, // Aubiat 38614 => 1, // Obéir 38555 => 1, // À chaque jour suffit sa peine 7678 => 204, // Glossari lemosin : Contribucion a l'estudi de la linga lemosina 15392 => 1, // Quincarelet 13887 => 3, // Trois passages 13885 => 2, // Andes Limousin 15816 => 1, // Vingt lettres 14998 => 5, // Mon dictionnaire ou Mais qu'est-ce que je fous dans ce merdier ? 15036 => 2, // Nouveaux contes & proverbes limousins / Lemouzi N° 174 bis 44613 => 1, // Histoire de ma mère et de mon oncle Fernand 13693 => 1, // Champeiradas 13908 => 6, // Diccionarelet – Mini-dico : occitan/francés – français/occitan 16317 => 1, // Lemouzi N°174 14417 => 2, // Poésie hispano-arabe et premiers troubadours 15830 => 1, // Vocabulaire occitan 56368 => 1, // Noms gauloise 2 15822 => 1, // Viralenga 13523 => 1, // Baladas danças 14955 => 4, // Marcelle Delpastre 7665 => 3, // Conterra 13429 => 5, // Atlas sonore 15054 => 2, // Òc-ben deuxième 44572 => 1, // Ribambelles 14520 => 1, // Comte Poitiers 15056 => 1, // Òc-ben deuxième CD 15055 => 2, // Òc-ben deuxième cahier 13421 => 2, // Astérix escòla 13396 => 1, // Antologia escritura 15678 => 1, // Teatre occitan 13388 => 1, // Anthologie drômois 2 43963 => 2, // Livre arbres 13940 => 2, // Dictionnaire base provençal 13988 => 3, // Éléments phonétique 43537 => 2, // Babali 14979 => 1, // Medelha 54400 => 12, // Recettes Ussel 15173 => 4, // Théâtre désamour 13572 => 2, // Bouligou farcidure 13884 => 1, // Mots phrase occitan 13553 => 5, // Biòlas aiga 15397 => 3, // Rêveries Laguenne 15058 => 2, // Occitanie histoire 37021 => 1, // L'heure partir 13914 => 1, // Dictionnaire Chirac 15478 => 7, // Sorne trasluç 14927 => 2, // Mémoires 43671 => 1, // Figuras poèta 13772 => 2, // Contes licencieux 13743 => 7, // Comprendre Limousin 44864 => 2, // Cançonièr Occitan 1 15052 => 4, // Òc-ben première cahier 14199 => 2, // Jos signe Sent Francés 7695 => 143, // Lo pitit bateu 13933 => 2, // Dictionnaire provençal 28957 => 3, // Steinlen 7697 => 4, // Loís Lemosin 62170 => 1, // D'aucèls òmes 45004 => 5, // Je fais jouets 37201 => 1, // Pichot Tresor 14169 => 3, // Introduction Ventadorn 15733 => 1, // Tres palometas 13541 => 1, // Bernard Ventadour 7693 => 224, // Lo diable porta 16331 => 4, // Les disparates 15711 => 2, // Tot en òc 44449 => 6, // Noms lieux Limousin 43808 => 1, // L'òra partir 52208 => 1, // Véniels 13387 => 1, // Anthologie drômois 1 14245 => 4, // Araignée rose 14508 => 6, // Chasseur ombres 16374 => 4, // Souterrains Corrèze 16392 => 1, // Glòria mòrt 15438 => 2, // Saint-Pierre Uzerche 51654 => 2, // Saints anticléricalisme 13361 => 3, // Ai vist lop 16386 => 2, // Gaston Vuillier 16363 => 4, // Châtaigniers Limousin 53775 => 1, // Lei miraus infidèus 14269 => 1, // L'estraç 13902 => 1, // Diccionari occitan 4 14506 => 1, // Le Bal 13549 => 2, // Bestias 13428 => 5, // Atlas sonore Creuse 13704 => 3, // Chansons Ventadorn 14206 => 4, // Jouets rustiques 14862 => 9, // Lo mite châtaignier 15047 => 2, // Obra poetica 14180 => 1, // Jan Melhau 15116 => 3, // Parlar occitan Auvergne 51327 => 3, // Ronds carrés 45640 => 1, // Brasa fuòc 14585 => 3, // Testament eau douce 14194 => 2, // Jeux cocagne 13438 => 3, // Au rier-lutz 14544 => 2, // Monument Delpastre 16431 => 1, // Histoire église Argentat 45928 => 2, // Lo riu Adriana 13344 => 1, // 7305 jorns 16318 => 1, // Lemouzi N°158 tables 14753 => 3, // Petits recueils 13850 => 5, // D'una lenga l'autra 14524 => 1, // Dit Oiseau gris 13336 => 2, // 3968 CR13 13430 => 4, // Atlas sonore Thaurion 58018 => 1, // Loges francs-maçons 15038 => 1, // Novèlas estranh 14956 => 2, // Marcelle Delpastre dossier 14380 => 1, // Joute poétique 15208 => 3, // Poésie modale 1 15206 => 4, // Poésie modale 3 15207 => 4, // Poésie modale 2 13901 => 1, // Diccionari occitan 5 14896 => 4, // Los uelhs sus terra 13342 => 2, // 70 clés Gascogne 14890 => 5, // Lo viatge aquitan 44172 => 2, // Sincérité Gégène 15439 => 2, // Saint-Yrieix arédien 14806 => 1, // Liquors confiments 14913 => 1, // Louis-Joseph Gay-Lussac 16398 => 4, // Gramatica lengadocians 14725 => 4, // Chants Giraut Bornelh 43677 => 1, // Visages pays 15074 => 2, // Œuvres Mouzat 2 15433 => 1, // Maçons pays 10135 => 4, // Ací qu'èm Reis 14897 => 3, // Los chants Bada-Luna 15073 => 2, // Œuvres Mouzat 1 15201 => 4, // Poèmes dramatiques 1 15200 => 4, // Poèmes dramatiques 2 14382 => 1, // Leçon Nérac 15480 => 7, // Souffler jouer 13904 => 1, // Diccionari occitan 3 14551 => 1, // Monde troubadours 13828 => 0, // Cuisine Limousin 14186 => 3, // Je souviens Limoges 15722 => 1, // Trésors Occitanie Mistral 15826 => 3, // Vocabulari occitan 15819 => 1, // Violons limousins 13999 => 3, // En attendant orage 53810 => 1, // La guèrra maudita 15107 => 3, // Paraulas terra 5 44487 => 1, // Grandes heures moulins 15105 => 4, // Paraulas terra 3 15106 => 3, // Paraulas terra 4 14542 => 1, // Limousin Marche anthologie 60392 => 1, // Clara Carusò 13684 => 5, // Souterrains Haute-Vienne 15855 => 2, // Meymac église 14968 => 3, // Marion aimava 15104 => 6, // Paraulas terra 2 15103 => 4, // Paraulas terra 1 45697 => 2, // Archéologie paysage 43425 => 2, // Petite ville 15720 => 1, // Trésors Occitanie Manciet 15780 => 0, // Una setmana bòria 14511 => 1, // Coq Oc 10134 => 2, // Èr navèth 15776 => 0, // Un temps viure 15395 => 0, // Règne animal 14051 => 1, // Fables contes gnorles 43814 => 1, // Miratges 14898 => 0, // Los jorns telhòu 13750 => 3, // Conilhs pelons 14167 => 1, // Insularas 13701 => 9, // Chants Limousin 14477 => 1, // Langages sifflés 13441 => 1, // Aubusson 13886 => 5, // Étoiles plantes 13436 => 5, // Pays feuillardiers 13903 => 1, // Diccionari occitan 2 15041 => 3, // Òbras completas 13831 => 2, // Cuisine Périgord 15779 => 1, // Una isla Peirigòrd 14558 => 2, // Pays Ségur Révolution 14439 => 2, // Santa Estela 14492 => 1, // Las Canas Midàs 43029 => 2, // Contes Gasconha Darrèra 43437 => 2, // Petite chronique boue 59741 => 1, // Nadau André Ricros 15015 => 2, // Mystérieux Limoges 7686 => 1, // Ponticaude École 14750 => 2, // Noms lieux Uzerche 14304 => 3, // Origine bêtes 13759 => 12, // Contes Haute-Marche 13918 => 5, // Dictionnaire périgourdin 14500 => 1, // Lavertujon chançon 14241 => 2, // Anneau magique 43466 => 1, // Usines 43567 => 2, // Grottes 53396 => 1, // Òmes ecir 14078 => 2, // Flors 13546 => 1, // Bertomieu 15169 => 2, // Permenada cronicas 13763 => 1, // Contes Joan Fàia 43413 => 2, // Je suis milliers 44184 => 1, // Nouvel âge littéraire 43460 => 1, // Grand guignol 43431 => 2, // Thérésa récits 43573 => 2, // Littérature prolétarienne 43454 => 1, // Bure Borinage 44178 => 2, // Mineur parle 13757 => 7, // Contes Monédières 13778 => 3, // Contes Gasconha Segonda 44711 => 1, // Visages pays 15770 => 6, // Paisan lemosin 37011 => 1, // Poésies patoises 13585 => 5, // Burlesque obscénité 14869 => 2, // Prumier libre Marçau 14847 => 1, // Lo Leberaubre 11 14246 => 1, // Arquibau autres 13766 => 4, // Contes ville campagne 7694 => 313, // Prumier sendaron 15042 => 1, // Obra poetica occitan 16372 => 3, // Ponticauds Limoges 44533 => 3, // Introduction Périgord Noir 13879 => 3, // De temps temps 14083 => 1, // Flor brossa 14437 => 3, // Segonda Luna 14381 => 3, // Littérature oc 14488 => 0, // Zinzoinas serp 14909 => 2, // Lou tresor Felibrige 14925 => 3, // Médecine Religion 57971 => 2, // Muratel 13552 => 1, // Bestiari aubres 10061 => 1, // Icòna iscla 10045 => 1, // Tè tu tè ieu 53781 => 1, // Vida Joan Larsinhac 14793 => 3, // Limousin Terre Oc 7711 => 96, // Pitit Jan diable 7698 => 3, // Los dos einocents 14784 => 1, // Lexique limousin 7666 => 35, // Contes Beurona 7712 => 292, // Pitit chat perdu 7699 => 224, // Los bons amics 7700 => 240, // Los tres tessons 7683 => 150, // Chabra chabrits 42861 => 1, // Qualques nòvas 52342 => 3, // Pluja camin terra 13929 => 3, // Dictionnaire normatif 14201 => 2, // Joseph Roux Parole 14416 => 1, // Pastourelle poésie 58376 => 2, // Lo devinaire 15130 => 2, // Grenier Félibrige 14721 => 1, // Troubadours 57974 => 2, // Rassa rasseje 57956 => 2, // Espofinadas 15253 => 3, // Proverbis bas-lemosins 15075 => 3 // Œuvres Chèze ); $fixed_count = 0; $error_count = 0; foreach ($products_to_fix as $product_id => $correct_stock) { // Vérifier que le produit existe $product = get_post($product_id); if (!$product) { $error_count++; continue; } // Mettre à jour le stock SANS déclencher le hook WooCommerce $result = update_post_meta($product_id, '_stock', $correct_stock); if ($result !== false) { // Mettre à jour le stock status $stock_status = $correct_stock > 0 ? 'instock' : 'outofstock'; update_post_meta($product_id, '_stock_status', $stock_status); // NE PAS déclencher le hook qui cause le problème // do_action('woocommerce_product_set_stock', $product); $fixed_count++; } else { $error_count++; } } // Retourner le rapport return array( 'fixed' => $fixed_count, 'errors' => $error_count, 'total' => count($products_to_fix) ); } // Fonction pour lancer la correction via URL function trigger_stock_correction() { if (isset($_GET['correct_stocks']) && $_GET['correct_stocks'] === 'yes') { $result = correct_stock_error_temp(); echo "

Résultats de la correction des stocks

"; echo "

Produits corrigés : {$result['fixed']}

"; echo "

Erreurs : {$result['errors']}

"; echo "

Total traité : {$result['total']}

"; if ($result['fixed'] > 0) { echo "

✅ Correction terminée avec succès !

"; echo "

Note : Les hooks WooCommerce n'ont pas été déclenchés pour éviter les conflits avec WPML.

"; } exit; } } add_action('init', 'trigger_stock_correction'); Botica – Page 109