Chaque fois que je crée un nouveau site Web, je crée d'abord un site intermédiaire sur un sous-domaine comme "stage.domain-name.com".
Après que tout fonctionne correctement, j'exporte la base de données, l'ouvre dans notepad ++ et fais une recherche / remplacement pour "subdomain.domain-name.com" et je la remplace par "domain-name.com" ... enfin je l'importe dans un nouveau base de données pour le site en direct.
Ma question est ... quelle requête SQL aurais-je besoin d'exécuter si je voulais juste faire cette simple recherche / remplacement sur toute la base de données en utilisant phpmyadmin?
-CH
mysql
query
sql
customization
NetConstructor.com
la source
la source
Réponses:
Le tableau où votre URL est enregistrée est wp_options. Vous devriez faire une mise à jour sur les colonnes qui utilisent l'URL de votre site:
Il se peut que je manque une valeur, mais chaque fois que vous effectuez à nouveau ce processus de recherche / remplacement, vous pouvez remarquer les valeurs et les tables qui doivent être mises à jour et les ajouter à ce script.
WordPress Codex a un bon guide sur la façon de changer l'URL d'un site, c'est peut-être encore plus pratique pour vous: Changer l'URL du site
la source
Mieux vaut faire des options, des messages, du contenu et des méta-messages:
Voir également Recherche de données à l'aide de phpMyAdmin et MySQL | Packt Publishing. Et Search RegEx est un bon plugin WP pour pouvoir rechercher et remplacer par Grep à travers toutes les publications et pages.
Mise à jour 16/06/2015: L' utilisation de l'outil lié dans la phrase suivante est bien meilleure, car une simple recherche / remplacement comme ci-dessus dans un vidage de base de données cassera les données sérialisées. Voir interconnectit.com WordPress Serialized PHP Search Replace Tool. De cette façon, vous ne cassez pas les données sérialisées et vous n'aurez pas besoin d'exécuter RegEx sur le contenu des publications, car le script d'interconnexion modifie les URL partout. J'utilise cet outil tout le temps pour migrer des sites vers différents domaines, ou pour simplement faire un changement global de http à https pour forcer SSL sans plugins et changer toutes les URL dans le contenu pour éviter les erreurs d'éléments non sécurisées.
la source
C'est un excellent script que j'utilise et il fonctionne à merveille avec les tableaux sérialisés que WP utilise pour stocker les options. Assurez-vous simplement de le supprimer de votre serveur distant lorsque vous avez terminé, car c'est un énorme risque pour la sécurité.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
la source
Pour cela j'utilise WP-CLI car je le trouve le plus simple et il s'occupe des données sérialisées.
wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid
Il existe également une option qui écrit vos modifications dans un fichier SQL au lieu de manipuler la base de données réelle:
wp search-replace foo bar --export=database.sql
la source
vous n'avez pas à le faire, vous pouvez utiliser des chemins relatifs.
lorsque vous liez quelque chose au lieu de subdomain.soemthing.com/image.jpg - utilisez /image.jpg par exemple
comme ça, vous ne rencontrerez pas le problème en premier lieu.
sinon, pour une déclaration de mise à jour mysql, vous pouvez utiliser
la source
Pour changer le domaine wordpress dont nous avons souvent besoin, cela peut être de faire vivre le site depuis localhost: Voici une liste complète des requêtes de mise à jour:
MISE À JOUR: Search Replace DB version 3.1.0 est un outil frontal convivial pour les développeurs, qui vous permet d'effectuer des actions de recherche / remplacement à l'échelle de la base de données, qui n'endommagent pas les chaînes ou les objets sérialisés PHP.
la source
En fait, vous n'avez pas besoin d'utiliser une requête SQL juste quelques ajustements dans le fichier wp_config et functions.php dans votre thème. Consultez ce sujet dans Wordpress Codex: https://codex.wordpress.org/Changing_The_Site_URL
la source