Créez votre site WordPress avec Elementor.Découvrir Elementor Lien partenaire

LANGUES DE BLOGPASCHER

Archives par langue

Choisissez une archive disponible ou retrouvez les langues prévues pour les traductions.

Archives disponibles

Traductions prévues (32)
  • Englishanglais
  • Españolespagnol
  • Deutschallemand
  • Portuguêsportugais
  • Italianoitalien
  • Nederlandsnéerlandais
  • Polskipolonais
  • Українськаukrainien
  • Češtinatchèque
  • Slovenčinaslovaque
  • Hrvatskicroate
  • Românăroumain
  • Magyarhongrois
  • Ελληνικάgrec
  • Türkçeturc
  • العربيةarabe
  • עבריתhébreu
  • हिन्दीhindi
  • বাংলাbengali
  • ไทยthaï
  • Tiếng Việtvietnamien
  • Bahasa Indonesiaindonésien
  • 简体中文chinois simplifié
  • 日本語japonais
  • 한국어coréen
  • Danskdanois
  • Svenskasuédois
  • Norsknorvégien
  • Suomifinnois
  • Eestiestonien
  • Latviešuletton
  • Lietuviųlituanien

Apparence du site

Boutique WooCommerce et parcours de commande · Intermédiaire

Les anciens achats WooCommerce perdent un téléchargement après un changement de fichier

Un fichier WooCommerce disparaît des anciens achats ? Comparez les lignes du produit et les permissions, puis testez l’accès sur deux commandes fictives.

Reconnaître la disparition du téléchargement après un changement de fichier

Une personne a déjà acheté un produit numérique. Après le remplacement du fichier, son téléchargement n’apparaît plus sous Mon compte > Téléchargements, alors que les commandes récentes peuvent y accéder. C’est le symptôme décrit sur le forum WooCommerce. Le fil a distingué deux opérations qui se ressemblent dans l’éditeur du produit. Vous pouvez modifier le nom ou l’adresse dans la ligne d’un fichier qui existe déjà. Vous pouvez aussi supprimer cette ligne ou utiliser le bouton qui en ajoute une nouvelle. La documentation WooCommerce indique que la première opération met à jour l’accès des commandes passées, avec leur échéance et leur nombre de téléchargements restants. Une nouvelle ligne ne donne pas automatiquement un droit aux commandes antérieures.

Dans WooCommerce, la commande et la fiche produit répondent à deux questions différentes. La fiche indique les fichiers actuellement associés au produit ou à sa variation. Les permissions de la commande indiquent les fichiers auxquels cette commande a accès. Un même nom visible peut être porté par deux lignes distinctes. Remettre le même libellé dans une ligne neuve ne rétablit donc pas les droits de la ligne d’origine. À l’inverse, changer le fichier dans une ligne existante peut fonctionner avec une adresse différente. Le nom du fichier sur le disque n’est pas le seul élément à examiner.

Déterminez si le lien manque ou s’il est visible mais renvoie une erreur. Un lien absent pour les anciens achats et présent pour les nouveaux invite à comparer les permissions. Un lien visible pour tous qui déclenche un refus, un fichier vide ou une erreur de stockage nécessite aussi un contrôle du fichier réellement servi et des droits à l’ouvrir. Vérifiez la commande, le compte utilisé et la variation exacte avant de conclure. Un produit variable peut porter des fichiers différents sur chacune de ses variations.

  1. Relevez quand le changement a été enregistré. Repérez une commande antérieure concernée et, si elle existe, une commande récente comparable.
  2. Demandez au client d’ouvrir Mon compte > Téléchargements avec le compte associé à sa commande. Pour un achat en invité, vérifiez le parcours prévu pour le lien reçu dans la commande ou le courriel. Ne transférez pas un lien client dans un ticket partagé.
  3. Si le lien apparaît mais que le téléchargement échoue, notez le message et le nom du fichier attendu sans publier l’adresse complète. Les liens peuvent contenir des clés de commande ou des paramètres identifiants.

Préparer une comparaison qui sépare fichier, commande et compte

Sur une recette WooCommerce, préparez un produit fictif et un petit fichier dont le contenu permet de reconnaître la version, par exemple un document qui contient « TÉMOIN V1 ». Pour un produit variable, choisissez une seule variation et notez son identifiant dans la commande. Créez une première commande de test avec un client fictif. Placez-la dans l’état qui donne droit au téléchargement selon la politique de la recette. Certaines boutiques autorisent les téléchargements après le paiement, d’autres après l’achèvement. Utilisez un moyen de test ou une commande fictive autorisée et captez les notifications de la copie.

Ouvrez WooCommerce > Commandes, sélectionnez la commande et repérez le panneau des permissions de téléchargement. Notez les fichiers visibles, la date d’expiration et le nombre restant. Ouvrez ensuite une session de test distincte pour consulter Mon compte > Téléchargements et vérifiez que le fichier contient le marqueur de la première version. Un clic peut consommer une utilisation si la boutique compte les téléchargements. Sur une commande réelle, ne téléchargez pas pour contrôler le fichier au nom du client sans avoir prévu cet effet. Pour le témoin, prévoyez assez d’utilisations pour effectuer les comparaisons.

Préparez un deuxième document avec un marqueur « TÉMOIN V2 » et gardez la première version hors du dossier qui pourrait être écrasé. Comparez deux situations sur la copie. Dans la première, modifiez la ligne de la version V1. Dans la seconde, restaurez l’état de départ ou utilisez un autre produit fictif, puis créez une nouvelle ligne. Une commande récente permet alors de vérifier si cette ligne est disponible après achat. Faites les tests avec des adresses et documents de recette, et notez séparément la présence du lien, le fichier reçu et le compteur.

  1. Relevez le statut de la commande, le produit ou la variation et les permissions visibles avant modification.
  2. Vérifiez un accès client qui fonctionne avec V1. Notez le compteur après ce téléchargement pour établir le point de départ du contrôle suivant.
  3. Préparez une seconde commande de test pour la comparaison après modification. Les deux commandes doivent viser le même produit ou la même variation.

Remplacer le fichier en conservant la ligne d’origine

Si V2 doit remplacer V1 pour tous les acheteurs déjà autorisés, ouvrez Produits > Tous les produits et modifiez le produit. Pour un produit simple téléchargeable, ouvrez les données du produit et repérez la liste des fichiers téléchargeables. Pour un produit variable, ouvrez Variations, développez la variation achetée et recherchez la liste de cette variation. Les libellés peuvent différer dans un éditeur de produits personnalisé. Vérifiez que la ligne repérée correspond bien au fichier de la commande témoin.

Dans cette ligne, modifiez le champ de l’adresse ou utilisez le bouton de sélection du fichier de la même ligne. Enregistrez le produit ou la variation avec le bouton prévu par l’interface. Conservez le fichier V1 pendant le contrôle afin de pouvoir remettre son adresse. Si WooCommerce signale que le nouveau fichier se trouve dans un répertoire non approuvé, utilisez l’emplacement prévu par votre boutique et vérifiez les réglages des répertoires approuvés. Ne rendez pas une adresse de stockage publique pour obtenir un test rapide. Le contrôle doit passer par le lien de commande et le mode de livraison prévu.

  1. Enregistrez V2 dans la ligne existante, puis rouvrez le produit pour confirmer que la modification a été conservée.
  2. Sur la commande antérieure, vérifiez la permission, son expiration et le nombre restant avant de télécharger de nouveau. Avec le compte fictif, ouvrez le lien et contrôlez le marqueur V2.
  3. Si le nouveau document est incorrect ou inaccessible, remettez l’adresse V1 dans la même ligne sur la recette, puis vérifiez la réception de V1. Si la ligne d’origine a déjà été supprimée, vérifiez la récupération des permissions séparément.

Accorder un nouveau fichier à une commande ciblée

Si V2 est un fichier supplémentaire et que V1 doit rester disponible, gardez deux lignes distinctes. Confirmez ensuite quelles commandes doivent recevoir la nouvelle version selon les conditions de vente du produit. Dans WooCommerce > Commandes, ouvrez une seule commande fictive comparable et recherchez le panneau des permissions de téléchargement. Selon la version, il permet de rechercher le produit et d’accorder un accès. Certaines interfaces proposent l’accès au produit et calculent les fichiers associés. Vérifiez l’ensemble des droits affichés après l’action. N’utilisez pas cette commande si elle donne des fichiers supplémentaires que le client ne doit pas recevoir.

L’action de régénération des permissions d’une commande concerne un périmètre plus large. Elle peut recréer des droits à partir de l’état actuel du produit et remplacer des permissions ajustées pour cette commande. Vérifiez la version et le comportement en recette avant de l’utiliser. Notez les compteurs, les échéances et les permissions accordées manuellement. Si vous devez préserver ces informations et que l’interface ne propose pas de correction assez précise, arrêtez l’essai sur la commande concernée et transmettez la comparaison à la personne qui gère la boutique. Changer le statut d’une vraie commande pour essayer de relancer l’accès peut déclencher d’autres traitements. Gardez le statut qui correspond à la commande et à la politique de remise.

Si la ligne d’origine a été supprimée, remettre le document à la même adresse peut laisser les anciennes commandes sans permission. Sur une recette, vérifiez s’il est possible de rétablir la ligne et les droits associés depuis une sauvegarde ciblée. Pour un achat isolé, l’attribution explicite peut être plus simple. Une restauration de base en bloc peut effacer des commandes récentes. Utilisez une copie séparée pour comparer les états avant de choisir la réparation.

  1. Notez la liste des droits de la commande fictive avant l’attribution, avec leurs limites et dates. Faites un seul ajout pour le produit prévu.
  2. Vérifiez le nouvel accès et comparez les autres droits à l’état de départ. Ouvrez la session client de recette et confirmez la version réellement livrée.
  3. Si un droit supplémentaire a été ajouté à tort, retirez seulement ce droit si l’interface le permet. Sur la recette, revenez à son instantané si vous ne pouvez pas retrouver l’état initial avec précision.

Comparer les droits enregistrés depuis un terminal

Avec un accès autorisé à WP-CLI, placez le script ci-dessous hors de la racine web, sous le nom verifier-droits-telechargement.php. Exécutez wp --path="/chemin/recette" --url="https://boutique.recette.example.test" eval-file "/chemin/prive/verifier-droits-telechargement.php" 123 456. Les deux identifiants fictifs représentent la commande et le produit acheté. Utilisez l’identifiant de la variation si la commande porte sur une variation. La sonde utilise l’API de commande et le stockage des permissions de WooCommerce. Elle compte les identifiants et ne montre ni URL privée, ni e-mail, ni clé de commande. Gardez les extensions chargées et vérifiez le contexte du site avant d’exécuter la sonde.

Une ligne fichiers=2 autorises=1 sans_permission=1 permissions_sans_fichier=0 indique que la fiche contient deux fichiers et que la commande porte un droit correspondant à un seul. Un droit sans fichier indique une référence qui ne correspond plus aux lignes actuelles. Ces nombres mesurent une correspondance entre identifiants. Ils ne vérifient pas le statut de la commande, l’expiration, le compteur ni la capacité du serveur à livrer le document. Comparez les deux commandes et poursuivez dans l’interface si les chiffres correspondent mais que l’accès échoue.

<?php
if (!function_exists('wc_get_order') || !class_exists('WC_Data_Store')) {
    WP_CLI::error('WooCommerce doit être chargé sur cette recette.');
}
$commande_id = filter_var($args[0] ?? null, FILTER_VALIDATE_INT, ['options' => ['min_range' => 1]]);
$produit_id = filter_var($args[1] ?? null, FILTER_VALIDATE_INT, ['options' => ['min_range' => 1]]);
if (count($args) !== 2 || $commande_id === false || $produit_id === false) {
    WP_CLI::error('Indiquez un ID de commande et un ID de produit ou de variation.');
}
$commande = wc_get_order($commande_id);
$produit = wc_get_product($produit_id);
if (!$commande instanceof WC_Order || !$produit) {
    WP_CLI::error('Commande ou produit introuvable sur la cible.');
}
$achete = false;
foreach ($commande->get_items('line_item') as $article) {
    $id = $article->get_variation_id() ?: $article->get_product_id();
    if ((int) $id === $produit_id) {
        $achete = true;
        break;
    }
}
if (!$achete) {
    WP_CLI::error('Ce produit ou cette variation ne figure pas dans la commande.');
}
$actifs = array_map('strval', array_keys($produit->get_downloads('edit')));
$droits = WC_Data_Store::load('customer-download')->get_downloads([
    'order_id' => $commande_id,
    'product_id' => $produit_id,
    'return' => 'download_id',
]);
$identifiants = array_unique(array_column($droits, 'download_id'));
WP_CLI::log(sprintf(
    'fichiers=%d autorises=%d sans_permission=%d permissions_sans_fichier=%d',
    count($actifs),
    count(array_intersect($actifs, $identifiants)),
    count(array_diff($actifs, $identifiants)),
    count(array_diff($identifiants, $actifs))
));

Distinguer une permission présente d’un accès utilisable

Lorsque les identifiants correspondent mais que l’accès manque encore, ouvrez la commande dans WooCommerce > Commandes. Comparez le compte associé à celui qui ouvre Mon compte, puis examinez le statut, la date d’expiration et les téléchargements restants. Un compteur à zéro peut expliquer l’absence du fichier malgré l’existence d’une ligne de permission. Dans WooCommerce > Réglages > Produits > Produits téléchargeables, vérifiez à quel moment l’accès est accordé et si la boutique exige une connexion. Ces réglages servent à interpréter le parcours. Modifier leur valeur pour faire réussir un seul test peut changer l’accès pour d’autres commandes.

Pour un ancien achat, vérifiez aussi que la fiche et la variation existent encore. Un remplacement de produit ou une recréation de variation peut changer l’identifiant acheté même si le titre et les options restent identiques. Dans ce cas, la sonde refusera de comparer la nouvelle variation à l’ancienne commande. Revenez à la ligne de commande et demandez quel produit doit continuer à porter l’accès. Un nouveau nom d’affichage ne suffit pas à relier les deux identités.

Si le fichier est visible mais ne se télécharge pas, utilisez le parcours prévu par le mode de livraison configuré. Vérifiez dans WooCommerce > Réglages > Produits les répertoires de téléchargement approuvés lorsque cette fonction est active. Comparez l’emplacement du document V2 à celui de V1. Un fichier hébergé à une autre adresse peut nécessiter une règle d’accès déjà prévue par la boutique. Demandez au responsable du stockage de vérifier la réponse du fichier avec le contexte autorisé. La comparaison du contenu reçu permet de distinguer un problème de permission WooCommerce d’une page d’erreur ou d’un fichier manquant chez le fournisseur.

Vérifier le parcours client et garder un retour ciblé

Pour fermer le diagnostic, comparez une commande antérieure et une commande récente dans les conditions prévues pour chacune. Si V2 remplace V1, le même droit doit conduire au document V2 pour l’ancien achat encore éligible. Si V2 est un ajout, vérifiez que l’ancien achat ne le reçoit qu’après l’attribution décidée. Contrôlez le statut, le compte et les compteurs avant l’ouverture du fichier. Un compte de recette sans achat ne doit pas recevoir l’accès. Si les fichiers sont protégés, vérifiez leur remise par le parcours prévu plutôt qu’en copiant le lien dans une autre session.

Si le lien est présent mais échoue, vérifiez le chemin du fichier, le répertoire approuvé et la méthode de téléchargement de la boutique. Un nom de document correct et un téléchargement de quelques octets peuvent correspondre à une page d’erreur. Ouvrez le fichier fictif reçu et cherchez le marqueur. Vérifiez ensuite l’évolution du compteur et la présence des autres fichiers. Si une régression apparaît après une modification de ligne, remettez l’adresse précédente. Si elle apparaît après un ajout de permission, retirez ou restaurez seulement les droits touchés dans la recette. Un retour de fichier ne restitue pas automatiquement un compteur qui a déjà été consommé.

Consignez la version attendue, la variation, le résultat de chaque commande et l’état du compteur dans le dossier de suivi. Pour une correction réelle, faites confirmer au client que le document reçu est le bon par le canal prévu. Une réponse positive du serveur ou une ligne visible dans l’administration ne remplace pas ce contrôle.

Notre méthode éditoriale

Ces guides peuvent aussi vous aider