Identifier la bonne boutique et la bonne commande
Dans WooCommerce > Commandes, relevez d’abord le domaine de l’administration et le sous-site du réseau, s’il y en a un. Reprenez le numéro que le client a vu, l’heure de la validation et, si elle est disponible, la référence de commande de WooCommerce. Un numéro affiché peut être personnalisé par une extension. Une référence de paiement, de facture ou de panier n’est pas nécessairement l’identifiant numérique de la commande.
Ouvrez l’onglet Toutes, effacez la recherche et retirez les filtres de date, de client et d’état. Vérifiez aussi la Corbeille si elle est affichée. Un filtre sur les commandes Terminées masque une commande En cours, même lorsque son identifiant est exact. Essayez une commande voisine connue pour vérifier que l’écran liste bien des données sur cette boutique. Le premier résultat attendu est de savoir si l’absence concerne une commande, le compte ou toute la liste.
Si un gestionnaire de boutique habilité retrouve la commande et qu’un autre compte n’accède pas à l’écran, examinez les droits du second compte. Ne lui attribuez pas le rôle Administrateur pour ce seul contrôle. Si les deux comptes habilités constatent le même écart, demandez une lecture par identifiant dans le stockage que WooCommerce utilise.
Approche 1. Repartir de la liste et de la fiche
Ce parcours demande un compte habilité à consulter les commandes de la boutique. Ouvrez WooCommerce > Commandes depuis le menu de cette boutique, sans reprendre un signet ancien. Vérifiez le nom du site en haut de l’administration. Sur un réseau, ouvrez l’administration du sous-site qui a reçu la commande. Un compte autorisé sur un autre sous-site peut afficher une liste fonctionnelle qui ne contient pas cette vente. Relevez ensuite le statut sélectionné, le mois, le filtre client, le champ de recherche et le numéro de page.
Remettez les filtres à Toutes les dates et à Tous les clients si ces champs sont disponibles. Effacez le champ de recherche, revenez au premier écran de résultats puis choisissez Toutes. Si plusieurs pages restent affichées, lancez ensuite une recherche par référence dans cette liste dégagée. Testez la même méthode sur une commande voisine dont vous connaissez l’heure et le numéro. Une recherche qui ne retrouve même pas le témoin connu ne permet pas de déclarer la première commande absente. Vérifiez dans ce cas le critère de recherche, le type d’écran et les filtres encore appliqués.
Si un lien interne vers la fiche existe déjà dans une note de travail ou un export autorisé, ouvrez-le depuis l’administration du domaine confirmé. Le résultat attendu est la fiche de la commande avec son état et sa date. Un numéro de commande visible à l’écran peut différer de l’identifiant de stockage, notamment avec une numérotation personnalisée. Relevez l’identifiant depuis le lien de la fiche ou un export reconnu. Évitez de déduire cet identifiant en retirant des lettres au numéro de facture. Si seul un numéro commercial est disponible, demandez au mainteneur de retrouver la correspondance avec le mécanisme qui attribue ce numéro.
Une commande en Corbeille appelle un autre contrôle. Vérifiez l’état et l’historique avant toute restauration. Il peut s’agir d’une suppression voulue ou d’un doublon déjà traité. Un brouillon issu du parcours de paiement par blocs peut également exister dans le stockage avant que le client ait validé la commande. Le fait de retrouver ce brouillon ne prouve pas que la commande a été passée. Comparez son état, les traces du parcours et le numéro du véritable objet que le client pense avoir validé. La première approche se termine lorsque vous retrouvez la fiche ou que vous avez isolé un filtre, un accès ou une absence à examiner autrement.
Choisir le bon témoin quand la recherche est ambiguë
Si le client a plusieurs commandes proches, comparez la date de création et le total qui figurent dans les fiches déjà accessibles à la personne habilitée. Utilisez le fuseau affiché par la boutique. Une commande créée près de minuit peut se trouver le lendemain dans le journal en UTC et apparaître dans un autre jour ou mois que celui indiqué par le client. Avant de conclure qu’un filtre de date masque les données, retirez-le et vérifiez ensuite l’heure de la fiche. Une date de règlement ou d’expédition est un autre champ. Dans les versions qui proposent de choisir le type de date du filtre, notez la valeur retenue pour la comparaison.
Si le filtre client ne retrouve rien, vérifiez que la commande cherchée était liée à un compte. Une commande invitée peut être associée à une adresse de facturation sans appartenir au compte enregistré que vous avez sélectionné. La liste Mon compte montre le parcours propre au client connecté. Elle ne remplace pas la vérification de la boutique ni la lecture de la commande par un gestionnaire. Comparez d’abord une commande connue du même type, invitée ou liée à un compte, avec les mêmes paramètres de recherche.
Si le numéro a été repris d’une facture ou d’un remboursement, demandez l’identifiant de la commande d’origine. Ne choisissez pas une fiche par proximité de numéro. Les extensions de numérotation et les documents comptables peuvent avoir leurs propres séries. Un relevé où le numéro, l’identifiant et le type d’objet restent séparés évite de modifier la fiche d’un autre achat.
Séparer les droits de la liste et les données
Demandez à un gestionnaire de boutique déjà autorisé de refaire la recherche sur le même domaine et avec les mêmes paramètres. Gardez le compte initial disponible pour le contrôle final. Si le gestionnaire ouvre la commande et que le compte initial reçoit un refus ou ne voit pas la rubrique, consultez Utilisateurs > Tous les utilisateurs pour confirmer son rôle, avec un administrateur autorisé. Une extension de rôles, un accès limité à certaines commandes ou une personnalisation d’administration peut appliquer une règle supplémentaire. Donnez au responsable l’exemple d’une commande visible et celui de la commande masquée, sans transférer les données personnelles qu’il peut déjà lire dans la boutique.
Comparer les comptes ne demande pas de partager un mot de passe ni de rendre le compte initial administrateur. Si l’accès manque réellement et que la politique du site l’autorise, corrigez la capacité ou le rôle par le canal prévu, en conservant sa valeur initiale. Vérifiez ensuite la même fiche et une action que ce compte ne devrait toujours pas pouvoir accomplir. Si un réglage temporaire a été appliqué sur une copie, restaurez-le après le test. Un retour arrière doit porter sur le droit ajouté ou la règle modifiée, sans toucher à la commande ni à son état commercial.
Interpréter les résultats sur une vraie liste WooCommerce
La recette a créé une commande En cours datée de juillet et une commande Terminée datée d’août. Le gestionnaire de boutique a vu les deux dans la liste native de WooCommerce 11.2.1 sous HPOS. Le filtre Terminées, puis le filtre du mois d’août, ont chacun masqué la commande de juillet. La même commande est revenue quand les filtres ont été retirés. Sa fiche s’est ouverte directement avec le même identifiant. Le compte Abonné a été refusé sur la liste et sur la fiche. L’adresse exacte de la fiche ne lui donnait aucun droit supplémentaire.
Le banc a relu trois identifiants via WooCommerce. Le premier désignait la commande En cours visible après retrait des filtres. Le second désignait un brouillon de paiement absent de la liste Toutes de cette recette. Le troisième ne renvoyait aucun objet dans le stockage actif. Ces trois résultats demandent des actions différentes. Dans le premier cas, l’entrée existe et le problème porte sur la sélection ou l’accès. Dans le deuxième, il faut établir jusqu’où le parcours de validation est allé. Dans le troisième, vérifiez la référence et la boutique avant d’examiner une création échouée ou un écart de stockage.
L’écran HPOS et sa fiche ont été chargés par HTTP local avec deux sessions WordPress fictives. Le banc a passé le filtre de mois par le paramètre natif de la liste. Sur cette copie SQLite, le menu déroulant des mois a été masqué, car son propre calcul utilisait une requête que l’adaptateur ne traduisait pas. Les commandes ont été créées par WooCommerce et l’essai n’a utilisé ni paiement ni envoi de courriel externe.
Approche 2. Lire l’identifiant via WooCommerce
Ce parcours convient à une personne autorisée à utiliser WP-CLI sur le serveur ou sur une copie représentative. Il demande l’identifiant interne positif de la commande et le chemin confirmé de WordPress. Choisissez le bon site avec --url, notamment en multisite. La lecture passe par WooCommerce et son stockage actif. Le fragment n’affiche ni adresse, ni nom de client, ni moyen de paiement. Il ne modifie aucun état. Comme toute commande qui charge WordPress, il utilise néanmoins les extensions installées sur la cible. Vérifiez le chemin avant de l’exécuter sur un hébergement qui contient plusieurs copies.
Enregistrez le fragment ci-dessous dans un fichier privé nommé lecture-commande.php, hors du répertoire servi publiquement. La commande de la section suivante charge ce fichier après le démarrage de WordPress. L’outil renvoie l’identifiant, le stockage, l’état et la date UTC lorsque l’objet est une commande. Un remboursement ou un autre objet ne vaut pas fiche de commande. Les avertissements PHP éventuels se lisent à part du JSON. Si le chargement de WordPress échoue, traitez cette erreur avant d’interpréter l’absence de résultat.
<?php
if (!isset($args[0]) || !ctype_digit((string) $args[0]) || (int) $args[0] < 1) {
fwrite(STDERR, "Indiquez l’identifiant interne positif de la commande.\n");
exit(1);
}
if (!function_exists('wc_get_order')) {
fwrite(STDERR, "WooCommerce doit être actif dans cette installation.\n");
exit(1);
}
$id = (int) $args[0];
$order = wc_get_order($id);
$active_store = \Automattic\WooCommerce\Utilities\OrderUtil::custom_orders_table_usage_is_enabled()
? 'hpos' : 'posts';
$result = ['id' => $id, 'stockage_actif' => $active_store];
if ($order instanceof WC_Order && $order->get_type() === 'shop_order') {
$created = $order->get_date_created();
$result += [
'resultat' => 'commande',
'statut' => $order->get_status(),
'date_utc' => $created ? gmdate('c', $created->getTimestamp()) : null,
];
} else {
$result['resultat'] = $order ? 'objet_autre_type' : 'absente_du_stockage_actif';
}
echo wp_json_encode($result, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR) . PHP_EOL;Exécuter la lecture sur la bonne installation
Remplacez le chemin, le domaine de recette, le chemin du fragment et le nombre 123 par vos valeurs autorisées. Commencez avec une commande témoin visible dans la même liste, puis rejouez la commande avec l’identifiant recherché. Un résultat commande permet de comparer l’état avec les filtres. Un état checkout-draft dirige vers le parcours de validation du panier. Un résultat absente_du_stockage_actif décrit uniquement ce que WooCommerce trouve dans ce contexte. Le retrait de l’outil consiste à supprimer le seul fichier privé créé pour cet essai.
wp --path="/chemin/recette" --url="https://recette.example.test" eval-file "/chemin/prive/lecture-commande.php" 123Interpréter un identifiant absent sans recréer la commande
Dans WooCommerce > Réglages > Avancé > Fonctionnalités, relevez le stockage des commandes sélectionné. Le nom exact et l’option de compatibilité peuvent varier selon la version. Si HPOS est actif, la présence d’une ligne dans une table historique de WordPress peut décrire une copie, une trace de compatibilité ou un enregistrement de transition. Si les tables de publication font foi, une lecture dans les seules tables HPOS pose le problème inverse. Comparez la lecture WooCommerce au réglage de la boutique et transmettez une divergence à la personne chargée de la synchronisation. Ne basculez pas de stockage pour faire apparaître un identifiant. Une bascule nécessite son propre inventaire et sa procédure de retour.
Si la lecture est absente et que le client a réellement vu un résultat de validation, rapprochez le premier événement du parcours de commande à l’heure relevée. Demandez au responsable de vérifier WooCommerce > État > Journaux, le journal de l’intégration concernée et les erreurs du serveur sur un créneau court. Une boutique peut être reliée à un environnement de test, à un autre sous-site ou à un importateur qui crée les commandes séparément. Le journal peut montrer un refus ou une exception avant l’enregistrement. Une absence de trace peut aussi venir de la conservation des journaux ou de leur activation tardive. Consignez ce qui est effectivement observable avant d’attribuer une cause.
Si une référence financière existe, le responsable de la boutique doit la rapprocher de l’outil de paiement dans le bon compte et le bon mode. Évitez un nouvel essai avec le client ou la création d’une deuxième commande pour faire coïncider les écrans. Une transaction, une page de remerciement et une commande stockée sont trois preuves différentes. En cas de commande légitime à régulariser, l’équipe doit d’abord établir ce qui a été facturé, ce qui a été confirmé et ce qui a été expédié. Le guide de rapprochement des commandes en attente traite cette étape.
Valider la correction et garder un témoin stable
Après retrait d’un filtre, reprenez la recherche avec le même numéro et confirmez que l’ouverture mène à la fiche attendue. Après correction d’un droit, contrôlez à la fois le compte initial et un gestionnaire déjà habilité. Si le problème venait d’une règle personnalisée, désactivez seulement cette règle sur la copie et répétez le contrôle avant tout changement réel. Notez le réglage précédent. Une correction de vue ne demande pas de changer l’état de la commande. Si la règle élargit involontairement le périmètre d’accès, remettez-la dans son état initial.
Si aucune commande n’a été créée, l’observation suivante doit porter sur un nouveau parcours de recette sans passerelle réelle. Relevez si WooCommerce crée un brouillon, un identifiant de commande, puis un état final correspondant à l’opération simulée. Vérifiez que la commande apparaît aussi dans la liste d’un gestionnaire, avec les filtres remis à zéro. Pour la commande signalée, gardez le domaine, le numéro communiqué, l’identifiant s’il est connu, la date, le stockage actif et le résultat des deux lectures. Ce relevé permet de poursuivre le rapprochement sans déclencher une nouvelle vente.





