Formation PUB020 : WordPress, 2023 Mise en ligne d'un site WordPress

22.11 Pourquoi est-ce que je perds les personnalisations de mon thème lors de la mise en ligne ?


Lorsque vous mettez votre site WordPress en ligne, certaines de vos configurations d'apparence pourraient être perdues. Parmi les configurations qui n'ont pas suivi, on retrouve généralement l'image d'en-tête, les couleurs personnalisées, etc.

Notez que les thèmes basés sur des blocs ne présentent généralement pas de problème à ce niveau.

Pour remettre le tout en état, vous avez deux choix :

  • refaire les configurations à la main dans l'option Personnaliser du tableau de bord;
  • modifier la base de données.

Si vous choisissez la seconde option, assurez-vous d'avoir en main une bonne copie de sécurité de votre base de données en cas où les choses tourneraient mal...

Une autre alternative serait d'utiliser une extension spécialisée pour vous aider à ajuster la base de données pour la mise en production.

Mais pourquoi ces configurations sont-elles perdues ?

Sous WordPress, les configurations effectuées sous l'onglet Apparence sont enregistrées dans la table wp_options. Pour ce faire, elles sont sérialisées puis stockées dans le champ option_value d'un enregistrement dont le champ option_name débute par theme_mods_ suivi du nom du thème.

Configuration du thème enregistrées dans la BD

Voici, comme illustré dans l'image précédente, un exemple de ce qu'on peut trouver dans un tel champ :

a:7:{i:0;b:0;s:18:"nav_menu_locations";a:1:{s:4:"main";i:2;}s:18:"custom_css_post_id";i:-1;s:16:"header_textcolor";s:6:"edba04";s:16:"background_color";s:6:"ffffff";s:12:"header_image";s:88:"http://127.0.0.1/wordpress2021-gagnonannie/wp-content/uploads/2021/08/cropped-Vagues.png";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:32;s:3:"url";s:88:"http://127.0.0.1/wordpress2021-gagnonannie/wp-content/uploads/2021/08/cropped-Vagues.png";s:13:"thumbnail_url";s:88:"http://127.0.0.1/wordpress2021-gagnonannie/wp-content/uploads/2021/08/cropped-Vagues.png";s:6:"height";i:210;s:5:"width";i:1300;}}

L'opération de sérialisation crée une série d'éléments sous la forme :

  • s:longueur:valeur pour les chaînes
  • i:valeur pour les entiers
  • b:valeur pour les booléens
  • N pour les valeurs nulles
  • a:taille:{clé;valeur} pour les tableaux
  • etc.

Le problème des personnalisations perdues est dû à la présence de l'URL dans des éléments de type string (s). Lorsqu'on change l'URL, la longueur ne correspond plus à ce qui est écrit dans l'élément alors la configuration est ignorée.

Pour corriger la situation

Avant de procéder à la mise en ligne, vous avez modifié le script de votre base de données afin de changer chaque occurrence de l'URL en développement pour le nom de domaine qui sera utilisé en ligne.

Par exemple, vous avez changé http://127.0.0.1/monsite pour https://mondomaine.com ou, si vous travaillez avec un nom de domaine local, https://monsite.loc pour https://mondomaine.com.

Ceci est parfait pour ajuster presque toutes les fonctionnalités du site. Mais dans le cas des configurations d'apparence, vous devrez également ajuster la longueur des chaînes sérialisées. 

Ex : 

s:78:"http://127.0.0.1/monsite/wp-content/uploads/2021/08/ImageEnteteAnnieGagnon.png"

deviendra : 

s:76:"https://mondomaine.com/wp-content/uploads/2021/08/ImageEnteteAnnieGagnon.png"

Vous pouvez effectuer toutes les modifications à la main dans le script SQL puis, chez votre hébergeur, supprimer toutes les tables de la base de données et les regénérer à partir du script SQL ajusté.

Autre solution : simplement refaire les configurations à l'aide du tableau de bord du site en ligne.

Pour plus d'information

« Data portability and data serialization in WordPress ». WP Garage. http://wpgarage.com/tips/data-portability-and-data-serialization-in-wordpress/

« Theme Options lost when moving to new domain ». WordPress. https://wordpress.org/support/topic/theme-delicate-theme-options-lost-when-moving-to-new-domain

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre