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

Apparence du site

Mises à jour · Intermédiaire à avancé selon le parcours

Modifications du thème parent perdues après mise à jour : récupérer et protéger

Récupérez les personnalisations écrasées du thème WordPress, comparez les sauvegardes, puis déplacez le CSS ou les modèles sans réécrire le parent.

Vérifier ce qui a réellement été écrasé par la mise à jour

Après la mise à jour du thème, une couleur particulière, un texte ajouté ou un comportement personnalisé a disparu. Si cette modification était directement inscrite dans les fichiers du thème parent, le remplacement de ces fichiers peut l’avoir écrasée. Le résultat recherché est de retrouver l’ajout, puis de le placer dans un emplacement prévu pour vos adaptations.

Commencez par relever le thème actif, sa version et l’élément manquant. Vérifiez si un thème enfant était prévu mais n’est plus actif. Distinguez aussi une modification de fichier d’un réglage enregistré dans WordPress : CSS additionnel, styles globaux et modèles personnalisés peuvent relever de la base. Une apparence différente ne prouve pas à elle seule que le code a été supprimé.

Le guide concerne un site autohébergé avec une personnalisation identifiée. Le parcours CSS natif demande l’administration. La récupération de fichiers et un thème enfant demandent un accès autorisé aux archives et aux fichiers, ainsi que les compétences adaptées au code concerné. Ne restaurez pas tout le site pour rechercher une seule modification visuelle.

Préserver l’état actuel et retrouver les versions correspondantes

Conservez d’abord une sauvegarde actuelle des fichiers et de la base, ainsi que le thème parent mis à jour. Elle protège les corrections et les données apparues depuis l’ancienne personnalisation. Relevez le nom exact du dossier parent, l’éventuel enfant et leurs versions avant de remplacer un fichier.

Cherchez ensuite une sauvegarde des fichiers antérieure à la mise à jour, un ZIP conservé par le responsable ou une copie versionnée. Une sauvegarde de base seule ne contient pas les anciens fichiers PHP et CSS du thème. À l’inverse, une archive de thème seule ne restitue pas les styles et modèles enregistrés dans la base.

Téléchargez ou extrayez les éléments nécessaires dans un stockage privé et examinez une copie. Les archives complètes peuvent contenir des secrets et des données : ne les placez pas dans un répertoire public et ne les envoyez pas à un outil de comparaison en ligne sans maîtriser leur contenu. Préparez les essais sur une copie du site dont les opérations externes réelles sont neutralisées.

Séparer les fichiers du parent des personnalisations enregistrées

Un ajout dans style.css ou footer.php du parent suit les fichiers distribués par son auteur. Le CSS additionnel saisi dans WordPress et les personnalisations de l’éditeur peuvent être associés au thème dans la base. Si le thème actif a changé, ces réglages peuvent ne plus apparaître dans le même contexte sans avoir été effacés.

Avant la récupération, ouvrez l’emplacement où la modification avait été faite. Pour un thème classique, examinez Apparence, Personnaliser, CSS additionnel. Pour un thème à blocs, consultez Apparence, Éditeur, Styles et le modèle concerné. Restez en lecture à ce stade et notez ce qui est encore présent.

Si le réglage existe mais ne produit plus l’effet attendu, la nouvelle version peut avoir changé sa structure ou les classes CSS utilisées. Il faut adapter l’ajout au thème courant, pas recopier aveuglément un ancien fichier. Si une personnalisation d’éditeur prend la priorité sur un fichier de modèle, un changement du fichier peut aussi rester invisible. Identifiez cette couche avant de conclure à une perte définitive.

Approche 1 : récupérer les anciens fichiers sans restaurer tout le site

Ce parcours convient si vous disposez d’une archive de fichiers antérieure et d’un accès autorisé à ses données. Depuis l’outil de sauvegarde ou votre archive locale, récupérez le dossier du thème parent concerné dans un répertoire privé de travail. L’objectif est de retrouver les ajouts, pas de remettre cette ancienne version sur le site public.

Conservez trois ensembles séparés : le parent ancien personnalisé, la distribution officielle non modifiée de cette même ancienne version et le parent courant. La première comparaison doit opposer les deux versions anciennes identiques en numéro ; sinon les changements normaux de l’auteur se mélangeront à vos ajouts.

  1. Identifiez la sauvegarde antérieure et extrayez une copie du seul thème concerné sans lancer ses fichiers.
  2. Retrouvez la distribution officielle correspondant exactement à cette version, depuis une source autorisée ou une archive déjà conservée.
  3. Comparez les fichiers qui portaient la personnalisation et notez les lignes ajoutées ou changées.
  4. Préparez le report de ces seuls écarts vers la version courante et leur destination adaptée. Si aucune source ancienne n’est disponible, demandez les copies au responsable ; ne reconstituez pas un code inconnu à partir d’une capture.

Comparer un fichier localement avec Git, si l’outil est déjà disponible

Vous pouvez utiliser un outil de comparaison local, ou Git déjà installé avec l’option --no-index. Cette commande compare deux fichiers sans créer de dépôt ni appliquer les différences. Exécutez-la dans votre dossier privé de travail ; les chemins de l’exemple sont fictifs et doivent désigner le fichier officiel ancien puis sa copie personnalisée de la même version.

Les lignes précédées de moins et de plus montrent les écarts entre les deux fichiers. Elles peuvent révéler aussi des changements sans rapport avec la personnalisation : relisez le contexte. Le code de sortie 1 signifie que des différences ont été trouvées ; ce n’est pas à lui seul une erreur de lecture.

Les options de l’exemple désactivent les auxiliaires externes de comparaison et de conversion. N’exécutez pas le PHP pour voir le résultat et ne publiez pas le diff s’il révèle des informations privées. Gardez l’original intact ; aucune modification n’a encore été appliquée au site.

git --no-pager diff --no-index --no-ext-diff --no-textconv -- "reference-ancienne/footer.php" "sauvegarde-personnalisee/footer.php"

Choisir la destination de chaque personnalisation retrouvée

Classez les écarts selon leur rôle avant de les remettre. Quelques règles CSS relèvent souvent du CSS additionnel natif. Un changement de modèle peut relever de l’éditeur ou d’un fichier du thème enfant. Une fonction PHP demande de vérifier son rôle et ses dépendances ; sa présence dans l’ancien functions.php ne signifie pas qu’il faut recopier tout ce fichier.

Commencez par les réglages natifs qui reproduisent réellement le besoin. Le parent courant peut désormais offrir une option qui remplace votre ancien contournement. Vérifiez cette option sur la copie avec le même contenu, puis conservez les valeurs avant et après. Si elle répond au besoin, documentez ce changement plutôt que réintroduire un code devenu inutile.

  • Pour une couleur, un espacement ou une règle visuelle ciblée, utilisez les réglages Styles ou le CSS additionnel après contrôle des sélecteurs.
  • Pour un modèle, partez du fichier courant et reportez le seul écart compatible dans l’enfant, ou préparez sa personnalisation dans l’éditeur.
  • Pour du PHP, récupérez uniquement votre ajout identifié ; faites adapter les fonctions dépendantes du parent avant leur chargement.
  • Pour une fonctionnalité qui doit survivre à tout changement de thème, faites prévoir un emplacement maintenu distinct du parent plutôt qu’une copie globale.

Récupérer du CSS dans le personnalisateur d’un thème classique

Ce parcours convient à des règles visuelles identifiées et compatibles avec la structure actuelle. Il demande le droit de personnaliser l’apparence. Le CSS additionnel est associé au thème ; conservez-en une copie privée avant toute modification. Un changement ultérieur de thème peut donc modifier le contexte dans lequel ces règles sont appliquées.

Ne collez pas tout l’ancien style.css du parent. Ce fichier peut contenir des milliers de règles devenues différentes et l’en-tête du thème. Reprenez seulement les ajouts personnels retrouvés et vérifiez leurs sélecteurs sur la copie du site. Une classe qui n’existe plus ne retrouvera pas son effet en répétant la même règle.

  1. Ouvrez Apparence, Personnaliser, puis CSS additionnel si votre thème classique propose cet écran.
  2. Copiez le contenu actuel vers votre stockage privé, puis ajoutez une seule personnalisation identifiée.
  3. Examinez l’aperçu sur les pages concernées et sur petit écran avant de publier ce réglage.
  4. Enregistrez lorsque le résultat est correct, puis vérifiez le site public dans le contexte prévu.
  5. Pour annuler l’ajout, restaurez le contenu CSS relevé avant l’essai. Aucun fichier du parent n’a besoin d’être remplacé.

Replacer du CSS dans Styles avec un thème à blocs

Pour un thème à blocs, commencez par les réglages natifs de Styles lorsqu’ils répondent au besoin. Le CSS additionnel global permet de reprendre une règle restante. Depuis WordPress 6.9, son accès se trouve dans le menu à trois points de l’en-tête de la page Styles ; l’emplacement diffère donc de certaines anciennes captures.

Choisissez bien le CSS global si vous collez une règle complète avec sélecteur et accolades. Les champs CSS d’un type de bloc peuvent attendre seulement des déclarations de propriétés. Ne placez pas du PHP ou une feuille complète du parent dans l’un de ces champs.

  1. Ouvrez Apparence, Éditeur, puis Styles et le menu à trois points de son en-tête.
  2. Choisissez CSS additionnel, puis conservez une copie du contenu existant.
  3. Ajoutez la seule règle retrouvée et adaptée, puis contrôlez son aperçu avec les blocs et modèles concernés.
  4. Enregistrez le réglage préparé et vérifiez la page cible. Pour revenir en arrière, remettez le contenu précédent du champ.
  5. Si la règle ne s’applique pas, vérifiez la structure et le contexte du thème avant de modifier un autre emplacement.

Approche 2 : préparer un thème enfant pour les fichiers nécessaires

Un enfant convient lorsque la personnalisation doit rester dans des fichiers de thème. Utilisez d’abord l’enfant officiel du produit s’il est fourni et adapté. S’il existe déjà, préservez ses fichiers et ajoutez seulement les éléments nécessaires. L’exemple suivant concerne un nouvel enfant simple, à préparer sur copie avec accès aux fichiers et connaissance de leur organisation.

Dans le répertoire des thèmes confirmé, habituellement wp-content/themes, créez un dossier distinct tel que atelier-enfant. Avec cPanel, Files puis File Manager permet de créer ce dossier ; vous pouvez aussi transférer les fichiers par SFTP autorisé. Dans ce dossier, créez style.css en texte UTF-8 avec l’en-tête ci-dessous.

Remplacez mon-theme-parent par le nom exact du dossier du parent installé. Le nom affiché du produit peut être différent. Ne fusionnez pas les dossiers et n’activez pas encore l’enfant sur le site public. Son CSS ne sera pas forcément chargé automatiquement : vérifiez le cas suivant. Le parent reste installé ; l’enfant se rend disponible dans Apparence, Thèmes. Si la reconnaissance échoue, vérifiez nom de fichier, en-tête et parent avant de poursuivre.

/*
Theme Name: Atelier enfant
Template: mon-theme-parent
Version: 1.0.0
*/

Charger le CSS de l’enfant seulement dans le cas confirmé

Examinez comment le parent charge ses feuilles, selon sa documentation et ses appels wp_enqueue_style. S’il charge déjà celle de l’enfant, n’ajoutez rien. Le code ci-dessous vise uniquement un parent qui charge sa propre feuille mais pas style.css de l’enfant. Ce n’est pas une recette universelle pour tous les thèmes classiques ou à blocs.

Dans functions.php de l’enfant seulement, utilisez ce bloc pour charger sa feuille après la feuille parent identifiée. Remplacez HANDLE_PARENT_CONFIRME par l’identifiant réellement enregistré par le parent. Sans cette vérification, ne collez pas l’exemple ; utilisez le CSS natif ou faites adapter le chargement. Gardez le nom atelier-enfant-style unique.

Pour un nouveau fichier, conservez l’ouverture PHP montrée. Pour un fichier existant, ajoutez le bloc dans son contexte PHP sans seconde ouverture et sans supprimer ses autres fonctions ; gardez une copie privée avant l’ajout. Reportez ensuite vos règles dans style.css de l’enfant, contrôlez leur chargement sur la copie et retirez le bloc ajouté si le résultat n’est pas correct. Le numéro Version de l’enfant peut être augmenté lors d’une modification de sa feuille pour renouveler sa version de cache.

<?php
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'atelier-enfant-style',
        get_stylesheet_uri(),
        array( 'HANDLE_PARENT_CONFIRME' ),
        wp_get_theme()->get( 'Version' )
    );
}, 20 );

Reporter un modèle depuis la version courante du parent

Pour un modèle pris en charge par le mécanisme de surcharge, partez du fichier courant du parent et non de l’ancien fichier complet. Vous préserverez ainsi les changements de l’auteur. Reportez l’écart personnel identifié après avoir vérifié qu’il reste compatible avec les fonctions et la structure actuelles.

Les modèles classiques et les parties chargées par les mécanismes WordPress peuvent être recherchés dans l’enfant. Un fichier quelconque inclus directement par un chemin imposé dans le parent ne suit pas forcément cette règle. Vérifiez son chargement avant de conclure que copier le même nom suffit.

  1. Sur la copie, copiez le modèle courant concerné vers l’enfant en conservant son nom et son chemin relatif, par exemple template-parts/footer/site-info.php si ce fichier est réellement celui du produit.
  2. Reportez uniquement votre modification retrouvée, sans remplacer tout le fichier par sa version ancienne.
  3. Activez l’enfant préparé sur la copie et contrôlez la page qui utilise ce modèle.
  4. Pour annuler cette surcharge, restaurez le fichier enfant précédent ou retirez seulement le nouveau fichier identifié. Pour un thème à blocs, vérifiez aussi un modèle personnalisé enregistré dans la base, qui peut primer le fichier.

Récupérer un ajout de functions.php sans dupliquer le parent

Le fichier functions.php de l’enfant se charge en plus de celui du parent, et non à sa place. Recopier le fichier complet du parent dans l’enfant peut redéclarer les mêmes fonctions et provoquer une erreur fatale. La récupération doit donc porter uniquement sur votre ajout identifié dans la comparaison ancienne.

Sur la copie, conservez le functions.php enfant existant, puis préparez l’ajout personnel dans ce fichier seulement s’il appartient bien au thème. Vérifiez ses noms de fonctions, ses appels, les dépendances et le moment où les hooks sont utilisés. Une fonction du parent non prévue pour être remplacée ne se redéfinit pas simplement sous le même nom.

Si l’ajout reposait sur une fonction supprimée ou un comportement modifié par le nouveau parent, faites adapter ce point avant de le charger. Ne désactivez pas les mises à jour pour conserver indéfiniment un ancien fichier. Lorsqu’il faut un développement propre au produit, transmettez le diff et le contexte au responsable technique ; ce guide ne peut pas inventer le remplacement d’un code qui n’a pas été identifié.

Après ajout préparé, contrôlez le chargement de l’administration et la fonction concernée sur la copie. En cas d’erreur, rétablissez le fichier enfant précédent par l’accès aux fichiers conservé.

Tester sur la copie puis prévoir le retour à l’état précédent

Contrôlez l’accueil, une page intérieure et les vues où la personnalisation intervient. Vérifiez aussi l’administration, les petits écrans et la fonction concernée. Si vous activez un enfant alors que le parent était actif, examinez les réglages et le CSS associés au thème : ils ne doivent pas être supposés automatiquement transférés dans le nouveau contexte.

Le retour dépend du changement réalisé. Une règle native s’annule en rétablissant le contenu du champ relevé avant l’essai. Un fichier enfant s’annule avec sa copie précédente. Une bascule de thème peut être annulée dans Apparence, Thèmes en réactivant celui qui fonctionnait. Ces retours n’annulent pas tous les imports ou autres changements de données effectués entre-temps.

Si l’enfant provoque une erreur PHP qui ferme l’administration, utilisez l’accès aux fichiers conservé pour rétablir le seul fichier modifié, puis contrôlez le site. Ne remettez pas tout le parent ancien en ligne pour effacer une erreur d’ajout. Quand les essais sont réussis, appliquez les seuls changements préparés sur le site actif dans la fenêtre convenue, avec ses sauvegardes et les mêmes contrôles.

Préserver la personnalisation lors de la prochaine mise à jour

Gardez un relevé court : besoin satisfait, fichier ou champ utilisé, versions parent et enfant, écart récupéré et contrôle du résultat. Conservez votre enfant et ses ajouts dans vos sauvegardes, séparément des distributions officielles. Le parent doit rester aussi proche que possible de ce que son auteur fournit.

Un modèle surchargé dans l’enfant ne reçoit pas automatiquement les changements de son équivalent dans le parent. Lors des mises à jour suivantes, comparez ce modèle au nouveau parent et maintenez votre écart. Un enfant protège l’emplacement de l’ajout ; il ne garantit pas sa compatibilité permanente avec toutes les évolutions du produit.

Si aucune copie de l’ancienne modification n’existe, rassemblez les captures, les descriptions et les éventuels fichiers du responsable. Ils peuvent aider à reconstruire le besoin, mais ne permettent pas de promettre la récupération exacte d’un code disparu. Dans ce cas, préparez une nouvelle adaptation contrôlée au lieu de remplacer des fichiers par ceux d’un thème voisin. L’objectif est une personnalisation retrouvée ou reconstruite, documentée et maintenable sans nouvelle édition du parent.

Observer ce que le remplacement du parent change réellement

Dans la recette locale, le thème parent en version 1.0 affiche un texte ajouté directement à son fichier de modèle. WordPress remplace ce thème avec le ZIP de la version 2.0 de même dossier. Au contrôle suivant, le parent affiche le texte fourni avec la version 2.0. Le texte modifié dans l’ancien fichier a donc disparu de la page de test. Le CSS additionnel enregistré pour ce thème est encore disponible lorsque le parent est actif.

Pour vérifier le cas sur votre copie, relevez dans Apparence, Thèmes le nom et la version du thème actif. Dans la sauvegarde, localisez le fichier qui rendait le texte, la classe ou le bloc concerné. Comparez-le à la version courante du même fichier et, si vous l’avez, au paquet d’origine correspondant à la sauvegarde. Le résultat recherché est une modification identifiable, avec son emplacement et son effet sur la page. Notez le nom du fichier et une phrase témoin. Vous pourrez rechercher cette phrase après un changement de thème ou une nouvelle mise à jour sur la copie.

Tester la surcharge et l’héritage dans le thème enfant

Le thème enfant de la recette contient sa propre version du modèle partiel de notice. Il récupère un deuxième modèle partiel depuis le parent. Avant remplacement, le parent affiche son repère 1.0 dans ce deuxième modèle. Après remplacement et réactivation de l’enfant, la notice personnalisée apparaît encore et le deuxième modèle affiche le repère 2.0. Le fichier de notice de l’enfant a gardé la même empreinte. Le test a ensuite réactivé le parent et retrouvé son rendu 2.0.

Sur une copie d’un thème classique, identifiez l’appel qui charge le modèle partiel. Lorsque le parent passe par la recherche standard des modèles, créez le fichier au même chemin relatif dans l’enfant. Partez du modèle de la version courante et reportez la modification identifiée. Après activation de l’enfant, chargez la page témoin puis une deuxième page qui utilise la même partie. Vérifiez à la fois le repère personnalisé et une partie que l’enfant laisse héritée. Si le parent utilise un chemin propre qui désigne directement son fichier, recherchez le point d’extension prévu par le thème avant de créer une copie supplémentaire.

Rejouez ensuite la mise à jour sur la copie. Si le repère personnalisé disparaît ou si le modèle parent a changé de structure, comparez la surcharge avec la nouvelle version du fichier et vérifiez les données qu’elle attend. Pour annuler le test d’activation, réactivez le thème précédent et contrôlez à nouveau la page. Reprenez l’instantané complet de la copie si vous devez aussi rétablir la version des fichiers et leurs réglages.

Relever le CSS attaché au thème avant de basculer

WordPress a conservé le CSS additionnel enregistré pour le parent dans la recette. Avec l’enfant actif, la lecture du CSS additionnel de ce thème renvoyait une valeur vide. Le CSS du parent restait consultable en demandant explicitement sa feuille de style. Ce comportement concerne le CSS additionnel enregistré par WordPress. Les feuilles chargées par le thème suivent leur propre mécanisme.

Avant de basculer votre copie vers un thème enfant, gardez une copie du CSS additionnel du thème actif. Après activation, ouvrez le réglage de CSS du nouveau thème, reportez seulement les règles nécessaires et vérifiez leur effet aux largeurs habituelles. Si une règle déforme une autre page, retirez l’ajout dans le nouveau thème et rechargez les pages témoin. Ce retour ciblé permet de conserver les autres personnalisations présentes sur la copie.

Notre méthode éditoriale

Ces guides peuvent aussi vous aider