web-dev-qa-db-fra.com

Thème actuel rompu - après la migration du serveur et du domaine

Je migre une installation Wordpress et j'essaie d'obtenir le processus correct pour le faire.

J'ai essayé d'utiliser la méthode qui, à mon avis, fonctionnerait, mais cela n'a pas fonctionné.

Mes fichiers et ma base de données sont en place, mais lorsque je visite wp-admin, le responsable du thème me dit ceci: le thème actif est rompu. Revenir au thème par défaut.

Malheureusement, si vous le réactivez ensuite, cela fonctionne mais perd tous ses widgets, etc.

J'utilise une fonction de recherche et de remplacement pour changer toutes les instances et les options en utilisant l'ancien domaine avec ce script - http://interconnectit.com/124/search-and-replace-for-wordpress-databases/

Ce qui est plutôt cool.

Je remplace juste

http://domain1.com

avec

http://domain2.com

bien que lancer ceci avant d’accéder au site ne semble pas résoudre le problème du thème brisé et donc la perte de tous les widgets.

Tout le monde sait comment je peux migrer ce site sans avoir le cul de perdre tous les widgets (dont il y a beaucoup de choses à faire manuellement).

1
David

Essayez le plugin XCloner: http://wordpress.org/extend/plugins/xcloner-backup-and-restore/ .

J'utilise XCloner pour déplacer des sites entre mon serveur live et mon serveur dev. Il prend en charge toutes les différences de migration entre le domaine, la base de données, etc. Il conserve tous les paramètres de mon widget, menus personnalisés, etc.

0
cpilko

Les paramètres du widget sont stockés dans l’entrée theme_mods de la base de données pour votre thème (c.-à-d. {theme-slug}_theme_mods).

Le problème avec une base de données de recherche-remplacer est que theme_mods est une entréeserializedDB. Ainsi, si le nom de domainenew/ a une longueur de chaîne différente de celle deoldnom de domaine, l'entrée de base de données theme_mods sérialisée (ainsi que toute autre entrée de base de données sérialisée inclut un nom de domaine, tel que des URL de pièces jointes, etc.) deviendra mal formé.

Ipstenu explique bien le problème :

Voir certains widgets et paramètres de thème stockent vos données et inclure votre URL. Cela se fait également avec la sérialisation des données, ce qui signifie que la longueur de votre URL est importante. Si vous changiez de ipstenu.org en Lpstenu.org, vous seriez parfaitement en sécurité en effectuant une recherche/un remplacement complet du nom de domaine dans la base de données! Mais comme j’ai proposé de changer Lipstenu.org, je ne peux pas le faire. Tout champ qui comptait mon nom de domaine serait désactivé d'un, et donc invalide, et effacerait ainsi mes paramètres. Oh et pour faire empirer les choses? En fonction de la manière dont vous avez chargé votre média et l'incluez dans votre site, votre table postmeta peut également être remplie de cette manière.

Alors:

  1. Revenir au thème par défaut
  2. Accédez à la base de données et corrigez les longueurs de chaîne de tableau sérialisé affectées par le changement de nom de domaine de l'URL.
  3. Activer votre thème

Ensuite, votre theme_modsdevrait/original être restauré.

1
Chip Bennett